【发布时间】:2011-02-26 11:05:34
【问题描述】:
我正在使用 C# (.NET 4.0) 开发桌面应用程序。我有一个 datagridview 填充自定义对象,通过自定义(它继承 BindingList)BindingList(添加排序功能)。我使用 cellValidating 事件来正确增加第一列 (ID) 并验证对其他单元格的输入。
问题是当我到达新行/最后一行并在一个单元格中输入一些内容(我什至可以在离开单元格之前删除所有输入)时,datagridview 会自动将此行添加到绑定列表并在下面创建一个新行.我希望仅在正确填充上面的行(上一个新行)时才添加最后一行/新行。
示例
ID NAME PRICE ...
1 Beer 2.6
2 Cheese 3.3
_ _______ ____ <- empty row
现在,如果我单击(输入)新行 ID 将自动设置为 3,如果我将单击保留为“啤酒”单元格,则新行 ID 为空并且所有默认值都为空(这是它应该这样做的方式)工作)。 问题是,如果单击/输入新行并输入名称(即使我在离开单元格之前删除内容),则会在该行下方添加一个新行,这是新行。因此,这一行被添加到 BindingList 并且是不完整的,在正确填充所有必需的单元格(例如价格)之前不应添加它。
我不知道该怎么做。请帮帮我,我对 C# 很陌生。
感谢您的时间和回答。
【问题讨论】:
标签: c# validation datagridview row