[英]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.