斐伊川
我无法找到FindControl Method.this是事件“_CellEndEdit(object sender,DataGridViewCellEventArgs e)”,其中Iam试图访问findControl ....但我没有看到那个方法...请告诉我如何我可以访问这种方法......
答案 0 :(得分:0)
我相信FindControl
是Control
命名空间中System.Web.UI
类的方法。在WinForms中,您不需要这样做。
你想找到什么样的控制?它是网格编辑控件吗?
您是否会使用此控件来获取单元格值?
更新:单元格值呈现在单元格本身上,不需要找到单元格下面的控件。事件参数包含单元格本身,值本身或RowIndex
和ColumnIndex
。使用后者,您可以从网格中获取单元格并查看其.Value
属性:
DataGridViewCell c = grid[colIndex, rowIndex];
另请注意,网格上有一个CellValidating
可取消事件,听起来更符合您的需求。
答案 1 :(得分:0)
FindControl
方法仅适用于Control
类及其后代的实例。所以你可以在
this.FindControl(...);
修改强>
至于你的评论:
_CellEndEdit
事件是进行此类验证的错误位置。您通常会实施_CellValidating
活动。_CellEndEdit
验证输入,您可以尝试使用EditingControl
的{{1}}属性。如果单元格处于编辑模式,则应返回单元格的当前编辑控件。但是,在编辑控件已被销毁之后,可能会将DataGridView
事件称为。_CellEndEdit
的{{1}}对象允许您获取输入的值并设置DataGridViewCellValidatingEventArgs
属性(可能还有单元格错误),以便更改被取消答案 2 :(得分:0)
您可以使用Control.ControlCollection.Find方法。
即:
this.Controls.Find()