簡體   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