从两个表中获取 ComboBox 值

Get ComboBox Value From Two Tables

我有两个表:

TblNum:

TblMaster:


TblMasterTblNum 和 ( NumID )

有关系

我有 1 个组合框,我想通过读取 TblMaster 并显示 TblNum.Number 来将数据值加载到我的组合框。

实际上,我在加载表单上使用此代码:

    private void frmOrgChartsManage_Load(object sender, EventArgs e)
    {
        //Load ComboBox Source from MasterTable
        using (UnitOfWork db = new UnitOfWork())
        {
            // At first assign properties DisplayMember and ValueMember.
            cmbMaster.DisplayMember = "NumID";
            cmbMaster.ValueMember = "MasterID";

            // And then assign DataSource property of the cmbMaster.
            cmbMaster.DataSource = db.MasterRepository.Get();
        }
    }

使用此代码,我可以在组合框中看到 (1, 2, 3, 4, 5)

预期结果

如何在我的 DisplayMember 中加载 Number01 , Number02 , Number03 , Number04 , Number05 而不是 1, 2, 3, 4, 5

编辑:
我需要从 TblMaster 获取数据值并从 TblNum

查看名称
    cmbMaster.DisplayMember = "Number";
    cmbMaster.ValueMember = "MasterID";

我不知道如何从 1 个组合框的 2 个表中获取数据。

将代码更改为

private void frmOrgChartsManage_Load(object sender, EventArgs e)
        {
            //Load ComboBox Source from MasterTable
            using (UnitOfWork db = new UnitOfWork())
            {
                // At first assign properties DisplayMember and ValueMember.
                cmbLayerName.DisplayMember = cmbNumber.Where(x => x.NumID == "NumID").Select(y => y.Number).First();
                cmbLayerName.ValueMember = "MasterID";

                // And then assign DataSource property of the cmbMaster.
                cmbMaster.DataSource = db.MasterRepository.Get();
                cmbNumber.DataSource = db.NumberRepository.Get();

            }
        }

您正在绑定NumID,这里需要绑定Number

我想办法解决我的问题

并为其他人编写代码也许有人也有这个问题

private void frmOrgChartsManage_Load(object sender, EventArgs e)
{
    //Load ComboBox Source from MasterTable
    using (UnitOfWork db = new UnitOfWork())
    {
        // At first assign properties DisplayMember and ValueMember.
        cmbMaster.DisplayMember = "Number";
        cmbMaster.ValueMember = "MasterID";

        // And then assign DataSource property of the cmbMaster.
        var result = (from master in db.MasterRepository.Get()
                              join number in db.tblNumRepository.Get() on master.NumID equals number.NumID 


                              select new
                              {
                                  master.MasterID,
                                  number.Number,

                              }).ToList();
                cmbMaster.DataSource = result;
    }
}