ste*_*ler 6 c# events datagridview
我有DataGridView.在某些单元格中,我添加了一些数据 如果我正在编辑的单元格是空的并且我即将离开它,则向用户显示消息"bla-bla-bla",并且处于编辑模式的单元必须接收焦点.
这样做的我用CellEnter,CellLeave,CellEndEdit等我想检查单元格中输入值后取消的事件.但我不是,它不起作用.请帮我.很高兴看到任何建议.
这是我的代码的变体.我试过其他事件,但这很天真.
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1[e.ColumnIndex, e.RowIndex] == null)
{
MessageBox.Show("Empty cell!");
dataGridView1.CurrentCell = dataGridView1[e.ColumnIndex, e.RowIndex];
}
}
Run Code Online (Sandbox Code Playgroud)
我认为你必须根据CellValidating事件寻找解决方案DataGridView.
它即将在DataGridView即将离开编辑模式时触发,并允许您不接受用户输入的值.要拒绝输入的值,请在event-handler的代码中设置e.Cancelto True.
private void dataGridView1_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
if (!IsValueValid(e.FormattedValue))
{
e.Cancel = true;
MessageBox.Show("Not Valid!");
}
}
Run Code Online (Sandbox Code Playgroud)
有在网上许多例子,一个可以直接的文档中找到DataGridViewCellValidatingEventArgs在MSDN.另请参阅属性DataGridViewCellValidatingEventArgs.FormattedValue的文档
请注意,该方法IsValueValid(Object o)不是DataGridView组件的一部分,只是一个命名示例,您应该在代码中声明它并提供验证的主体.