簡體   English   中英

ComboBox SelectedIndexChanged

[英]ComboBox SelectedIndexChanged

我有 2 張桌子

表01

姓名ID,姓名(PK = 姓名ID)

1,約翰 2,羅斯

10、X先生

11、X夫人

表02

CarID NameID CarName (PK = CarID, FK = NameID) 關系

1,1,奔馳

2,1,寶馬

3,yyy

4,10,xx

5,11,zZ


在我的表格中,我有 2 combobox

組合框 1 數據 = 表 01 數據

private void Form1_Load(object sender, EventArgs e)
{
    using (UnitOfWork db = new UnitOfWork())
    {
        //لود کردن کمبوباکس لایه
        comboBox1.DataSource = db.table01Repository.Get();
        comboBox1.DisplayMember = "Name";
        comboBox1.ValueMember = "NameID";
    }
}

如果 NameID = NameID,combobox2 數據 = table02 數據

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (comboBox1.SelectedValue.ToString() != null)
    {
        using (UnitOfWork db = new UnitOfWork())
            comboBox2.DataSource = db.table02Repository.GetNameIDByFilter(comboBox1.SelectedValue.ToString());

        comboBox2.DisplayMember = "CarName";
        comboBox2.ValueMember = "CarID";
    }
}

現在我的問題是如果我將combox1 更改為1(約翰)

我的數據 incombobox2 =

奔馳

寶馬

xXx

zZz

這是因為在 SelectedIndexChanged 中(在 table02 中計數為 1)

我必須如何將我的代碼更改為 1 = 1 ( 只是 1 ) 而不是 1 = 1+ 0 或 1 = 1 + 1 + 0

我的存儲庫

public IEnumerable<table02> GetNameIDByFilter(string parameter)
{
    return db.table02.Where(g => g.NameID.ToString().Contains(parameter)).ToList();
}

我發現我的錯誤

存儲庫

IEnumerable<table02> GetNameIDByFilter(string parameter);

存儲庫

public IEnumerable<table02> GetNameIDByFilter(string parameter)
    {
        if (!int.TryParse(parameter, out int value))
        {
            return new List<table02>();
        }

        return db.table02.Where(g => g.NameID == value).ToList();
    }

表格中的代碼

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
        string selectedValue = comboBox1.SelectedValue.ToString();
        using (UnitOfWork db = new UnitOfWork())
            if (!string.IsNullOrEmpty(selectedValue))
            {
                comboBox2.DataSource = db.table02Repository.GetNameIDByFilter(selectedValue);

                comboBox2.DisplayMember = "CarName";
                comboBox2.ValueMember = "CarID";
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM