我将 xtragrids 与实体框架一起使用。我有 2 个 sql 表。我在 gridControl1 中显示了合作伙伴表,在 gridControl2 中显示了 partner_contacts 表。如何在 gridControl1 和 gridControl2 之间建立关系。如果我单击 gridControl1 中的一行,我想在 gridControl2 中显示相关行。
第一个表:合作伙伴 - partnerId - partnerName
第二张表:partner_contacts - partner_contactsId - partner_contactsName - partner_contacts_partner_FK
public partial class frmPartnersList : DevExpress.XtraEditors.XtraForm
{
ValinorEntities valinor = new ValinorEntities();
public frmPartnersList()
{
InitializeComponent();
gridControl1.DataSource = valinor.partners;
gridControl2.DataSource = valinor.partner_contacts;
}
}
我试过这个:
object obj = gridView1.GetRowCellValue(gridView1.GetSelectedRows()[0], gridView1.FocusedColumn.FieldName);
string obj2 = obj.ToString();
var selectedPartner = valinor.partners.Where(p => p.partnerId = obj2).FirstOrDefault();
if (selectedPartner != null)
gridControl2.DataSource = selectedPartner.partner_contacts;
我有两个错误:
无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型
无法将类型“string”隐式转换为“int”
委托“System.Func”不接受 1 个参数
对于此代码:(p => p.partnerId = obj2)