0
我試圖根據他們相應的鍵檢索列。幫助LINQ查詢
「從鑽石選擇*其中的p_id =」 +的p_id
我跟着MSDN樣品和他們正在做它像這樣:
CurrencyManager cm = ((CurrencyManager)this.BindingContext[myDatabaseDataSet, "Items.ItemDiamond"]);
IBindingList list = (IBindingList)cm.List;
但名單的相關僅查看數據返回的數據的p_id = 1。怎麼了?。
全碼:
private void Viewdiamonds(int p_Id)
{
this.Cursor = Cursors.WaitCursor;
frmDiamond frmd = new frmDiamond();
CurrencyManager cm = ((CurrencyManager)this.BindingContext[myDatabaseDataSet, "Items.ItemDiamond"]);
IBindingList list = (IBindingList)cm.List;
frmd.ShowDialog(p_Id, this, list);
this.Cursor = Cursors.Default;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 && e.RowIndex != -1 && !dataGridView1.Rows[e.RowIndex].IsNewRow)
{
DataGridViewCell cell = this.dataGridView1[e.ColumnIndex - 1, e.RowIndex];
int p_Id = Convert.ToInt32(cell.Value);
this.Viewdiamonds(p_Id);
}
}
編輯:
我有兩個相關的列項和鑽石。我有一個datagridview控件顯示來自Items表的數據。我添加了一個LinkView類型的列,所以當用戶點擊ViewDiamond時,會彈出一個新表單並顯示與該Item相關的Diamond。我查看了MSDN DataGridView控件示例,並且他們使用上面的代碼實現了該示例。我對代碼進行了一些調整以適合我的應用程序。上面的代碼有什麼問題?因爲它似乎無法根據其相關的p_Id顯示數據。或者我認爲p_Id有問題,無論其值如何,貨幣經理似乎只檢索與p_Id = 1相對應的數據。
我希望這可以澄清問題。
var result = from MyDbContext.diamond其中d.p_Id == p_Id select d; – 2010-03-03 11:05:57
是的,我也這麼認爲,但無法將其綁定到我的datagridview。我試圖將它綁定到一個列表,然後從dgv讀取列表,但是不能。你知不知道怎麼?。 – DanSogaard 2010-03-03 16:07:44
好的,這裏是: var qry = from myDatabaseDataSet.Diamond其中d.p_Id == p_Id select d; bs.DataSource = qry.AsDataView(); – DanSogaard 2010-03-03 18:40:01