繁体   English   中英

Switch中的C#Datagridview列名

[英]C# Datagridview Column Name in Switch

我正在尝试验证我的单元格,当数据错误为我的 datagridview 触发时,它们所在的单元格处于挂起状态。

这是我的代码:

private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
  if (_licDataSet.LicenseFileTable.Rows(e.RowIndex).Columns(e.ColumnIndex) == "test")

    switch (dataGridView1.CurrentCell.OwningColumn.Name)
    {
      case "AllowAsRemoteDesktopColumn" :
        // do not think there are any checks for this column
        // we'll find out shortly though!
        break;
      case dataGridView1.CurrentCell.OwningColumn.Name : 
        // ^^^ this errors with "A constant value is expected"
        // do something
        break;
    }
}

正如您从消息中看到的那样,我在 ^^^ 位置出错。

我究竟做错了什么? 我认为此时 owningcolumn 名称是不变的......?

帮助!

*** 编辑 *** 如果上述方法不起作用,如何获取当前单元格的列名是我的问题? *

我最终创建了一个我期望值的枚举并引用它们。 这是我可以保证如果更改我会得到编译错误的唯一方法。

您需要提供一个常量,表示 CurrentCell.OwningColumn.Name可能是的值之一。 类似于“另一个值”,而不是对象的属性。

在 c# switch 语句的情况下只能是“const”文字、字符串和枚举。 它不能是类的属性或字段。 msdn 链接: http : //msdn.microsoft.com/en-us/library/06tc147t( v=vs.71) .aspx

您正在使用与 switch 检查中相同的属性作为 case 语句。 可能您需要用default关键字替换第二种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM