c# - 在填充当前行之前防止新行出现在 DataGridView 中?

标签 c# winforms datagridview datagridviewrow

我在 C# 3.5 的 WinForm 应用程序中有一个 DataGridView。

AllowUserToAddNewRow 属性设置为 true。当用户在 DataGridView 中键入任何文本时,另一个新行会自动添加到 DataGridView。在对当前行执行一些检查并在其中填写所有必要信息之前,我不希望添加这个新行。

示例:我有一个带有空白行的 DataGridView: DataGridView with one blank row

当我开始输入时,添加了一个新行,这太快了:

我想要的是仅在用户输入数量后才添加新行:

最佳答案

设置 AllowUserToAddNewRow = false 现在最初向您的数据源添加一个空白行,例如。如果您将 DataGridView 绑定(bind)到名为 DT 的数据表,那么就在

dataGridView1.DataSource = DT;

做类似的事情

 DT.Rows.Add(DT.NewRow());

这是最初有一个空白行,以便可以输入第一条记录。 然后处理事件dataGridView1.CellEndEdit,在那个事件中写这样的东西:

void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == 1)//The index of your Quantity Column
        {
            int qty = (int)DT.Rows[e.RowIndex][e.ColumnIndex];
            if (qty > 0)//Your logic if required
            {
                DT.Rows.Add(DT.NewRow());                    
            }
        }
    }

关于c# - 在填充当前行之前防止新行出现在 DataGridView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988330/

相关文章:

c# - 防止 ASP.Net AppDomain 卸载

c# - WebBrowser 控件和 Adob​​e Flash 内容

c# - DataGridView 中的 TimeSpan 选择器允许超过 24 小时

c# - 禁用数据 GridView 中的按钮列

c# - DataGridView 不显示数据库中带有空图像的所有值

c# - 为什么 HttpContext.Current 为空?

c# - 如何从数据库datareader解析值并处理可能的NULL值?

c# - 如何将多个对象传递到 IEnumerable 列表中?

c# - 以下过程有什么区别?

.net - Win7 上的 "Attempted to read or write protected memory"错误 - activeX 控制失败