2010-04-27 146 views
1

如何獲取WPF數據網格中的選定項目?嘗試以下,沒有運氣;WPF Datagrid獲取所選項目

dataGrid1.CurrentCell.Item.ToString(); 
string[] strsplit = dataGrid1.SelectedValue.ToString().Split('+'); 
dataGrid1.SelectedCells[0].Item.ToString(); 
dataGrid1.CurrentItem.ToString(); 

dataGrid1.CurrentCell.Item.ToString(); 
dataGrid1.CurrentCell.Item.ToString(); 
+0

我回來的值是eobfrontend.ManageFormats + theformats 不太字段值我一直在尋找。 – wonea 2010-04-27 15:18:01

回答

1

找到一種基於行創建對象的方法。然後可以直接訪問數據網格中的字段。

theformats lineobject = (theformats)groups_dataGrid1.CurrentCell.Item; 
    string linetext = lineobject.theformat.ToString(); 
3

我不確定我完全理解上面的示例代碼。

第一個聲明應該做什麼?單獨它不會做任何事情。

要獲得選定的值,你有嘗試過。

var myValue = dataGrid1.SelectedItems[0].ToString(); // I'm not sure what type you expecting It looks like a string. 

編輯: 是DataGrid中設置爲選擇什麼模式?如果它被延長,那麼我希望上面的工作。如果設置爲單一模式。

var myValue = dataGrid1.SelectedItem[0].ToString(); 

EDIT2: 是在DataGrid什麼類型的對象?你在選擇什麼?

+0

無法訪問Value屬性,在編譯時出現此錯誤 錯誤'object'不包含'Value'的定義,也沒有接受類型'object'的第一個參數的擴展方法'Value'可以被發現(你是否缺少使用指令或程序集引用?) – wonea 2010-04-27 15:48:39

+1

你說的沒有SelectedItem的'Value'屬性。我改變了上面的代碼來反映這一點。我沒有編譯器來測試任何東西,但我認爲SelectedItems就是你想要使用的東西。這將選擇項目(行,對象,無論),你將基於它是什麼類型來訪問它。 – Neal 2010-04-27 18:24:48

+1

@wonea:正在選擇什麼類型的對象?他們是一些特殊的班級,是一個List,它是什麼類型? – Neal 2010-04-27 18:27:03

1
DataRowView myRow = (DataRowView)dataGrid.CurrentCell.Item; 
string myvalue = Convert.ToInt32(linha.Row.ItemArray[0].ToString());