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