2011-01-30 85 views
0

我有一個數據網格,其中包含來自兩個不同的表稱爲ITEMS和ORDER_ITEMS的數據。 datagrid的格式是這樣的 - 商品ID |項目名稱|單價|數量|金額如何讀取Datagrid的選定行中第一個單元格中的值?

此處,列ItemID,ItemName,Price屬於表ITEMS,列Quantity和Amount(amount = price * quantity)屬於表ORDER_ITEMS。

所以,我創建選定的行作爲ITEMS類型的新對象(或實例)來捕獲ItemID時出現問題。我如何閱讀'selected'行的ItemID屬性?


更新: 當我嘗試使用下面的代碼(按由John K.給出的語法),我得到了錯誤 - 錯誤1「Microsoft.Windows.Controls.DataGrid」不包含定義爲「SelectedRows」和沒有擴展方法「SelectedRows」接受類型「Microsoft.Windows.Controls.DataGrid」的第一個參數可以找到(是否缺少using指令或程序集引用?)

 string id = selectedItemsGrid.SelectedRows[0].Cells[0].Text; 

我發現了一些關於這個問題的信息。剛剛在Microsoft庫中發現它位於命名空間System.Windows.Forms.dll中。但我現在正在使用Windows Presentation Foundation。你認爲這與我目前面臨的問題有關嗎?

回答

0

使用DataGrid.CurrentItem屬性。這給你的數據綁定到當前行的對象。例如:

class DataClass { 
    string ID { get; set; } 
    ... 
} 

... 

DataClass current = (DataClass)dataGrid.SelectedItem; 
string id = current.ID; 
1

假設項目Id是在數據網格的第一(0)柱...因此,如果僅1列選擇第一(0)元素將包含該行的所選行會返回一個數組...

Try:

string strVal = DataGridView1.SelectedRows[0].Cells[0].Text; 
+0

謝謝你的迴應。我嘗試過這個。但是我在IntelliSense中看不到SelectedRows。如果我自己輸入,Visual Studio會給出錯誤信息 *'Microsoft.Windows.Controls.DataGrid'不包含'SelectedRows'的定義,也沒有接受'Microsoft'類型的第一個參數的擴展方法'SelectedRows' .Windows.Controls.DataGrid'可以找到(你是否缺少使用指令或程序集引用?)* PS:我試過做SelectedRow也。它也沒有工作。 – 2011-01-31 04:40:49

+0

看起來像是答案是DataGridView,它是一個WinForms控件,而不是您正在使用的WPF DataGrid。 – shf301 2011-01-31 05:27:40

相關問題