2015-03-08 22 views
0

我正在使用winforms API和C#創建應用程序。如何訪問GridView中Tag屬性中存儲的對象數據?

我有gridview,一些行有一個對象與一行關聯。對象存儲在Tag財產,像這樣

var tagObj = new AdditionalInfoPhoneActivations(); 
rowInfo.Tag = tagObj; 
radGridView1.Rows.Add(rowInfo); 

這裏是如何我試圖訪問其無法正常工作

void radGridView1_CommandCellClick(object sender, EventArgs e) { 
     var tagObj = new AdditionalInfoPhoneActivations(); 
     var x = (sender as CellFormattingEventArgs); 
     tagObj = e.CellElement.Tag; 

     Common.Alert("You ordered " + tagObj.serialNumber + " " + tagObj.saleType); 
    } 

此標記屬性是我遇到

錯誤
Error 2 'System.EventArgs' does not contain a definition for 'CellElement' and no extension method 'CellElement' accepting a first argument of type 'System.EventArgs' could be found (are you missing a using directive or an assembly reference?) C:\Users\User\C# Projects\RM\RM\Register.cs 175 24 RM 
+0

您需要將其轉換爲您放入的東西的類型 – TaW 2015-03-08 22:34:46

回答

1

您正在轉換爲錯誤的類型。此外,您很可能必須訪問該單元所屬的行(RowElement),並將Tag屬性(它是一個object並可以存儲任何內容)強制轉換回最初存儲在其中的對象的類型。

var cell = (sender as GridCommandCellElement); 

if (cell != null) 
{ 
    var myTag = (AdditionalInfoPhoneActivations)cell.RowElement.RowInfo.Tag; 
} 
+0

謝謝:)由於某些原因,它似乎並不傳遞對象或其他東西。我不斷收到'對象引用未設置爲對象的實例。'我試圖顯示'myTag.serialNumber'我不知道什麼是錯的 – Jaylen 2015-03-08 23:17:57

+0

@Mike固定。我在錯誤的對象上引用了'Tag'。看看是否有效。 – 2015-03-08 23:25:40

+0

非常感謝。這樣做:)你最好的 – Jaylen 2015-03-08 23:50:20