DataGridView中的C#TextBox更改事件

时间:2019-04-30 20:14:31

标签: c# winforms

我有一个带有几列TextBox的DataGridView。我需要捕获它们完成输入数据并退出框的事件(通过Tab,Enter,鼠标单击其他位置等)

我搜索了SO和Google,看来您必须从头开始构建一个事件。我已经对发现的内容进行了多种尝试,因为我似乎找不到适合自己特定需求的解决方案。
我从事这项工作的时间超过了我愿意承认的时间,我需要帮助。

这就是我所拥有的...

    // Select DataGridView EditingControlShowing Event
    Private void gridData_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
        e.Control.TextChanged += new EventHandler(textBox_TextChanged);
        Control cntObject = e.Control;
        cntObject.TextChanged += textBox_TextChanged;
    }

    // TextBox TextChanged Event
    Private void textBox_TextChanged(object sender, EventArgs e) {
        // Checks to see if the AddlQty field was altered
        if (gridData.Columns[e.ColumnIndex].Name == "AddlQty") {
            // Validate Entry
            if (e.Text is Not numeric) {
                MessageBox.Show("Entry Not Valid, Only Numeric Values Accepted");
            } else {
                CalcFinalQty(e.RowIndex);
            }
        }
    }

出于记录,该代码不起作用,验证为准代码,并且函数标题出现错误。对我来说重要的是

if (gridData.Columns[e.ColumnIndex].Name == "AddlQty"){ }

我只需要帮助就可以做到这一点。

0 个答案:

没有答案