在c#中,当组合框绑定到表时,如何选择另一种形式的组合框中的项
本文关键字:组合 选择 另一种 绑定 何选择 | 更新日期: 2023-09-27 18:01:39
我知道这可能是一个重复的问题,但之前的问题并没有解决我的问题。
有Form1
和Form2
。在Form1
中有一个dataGridView
,其字段称为category
。
在form2
中我设置了combobox
。我将form1
中dataGridView
的category
字段的数据发送到Form2
中的combobox
。
我已经公开了这个combobox
的identifier
。Form1
中有一个update button
。
我想当我选择一行并点击update button
时,Form2
打开并且combobox
显示Form1.
的dataGridView
的category
字段的值
这是代码:
Form2 fr2 = new Form2();
fr2.cmbCategory.Text = dgvProduct.SelectedRows[0].Cells[1].Value.ToString();
fr2.Show();
然后在Form2
中,我将cmbCategory
的DataSource
设置为tblCategory
,并将Display member
设置为code
字段。
我想让cmbCategory
在tblCategory
中显示field code
的所有项目,同时选中其中一个项目。所以选中的项目应该是我从Form1
传递给它的项目。
我想知道怎么做?我是编码新手,如果你用简单的方式回答我,我真的很感激。
你可以这样做
更新:使用Text代替SelectedItem
在你的Form1 cs文件:
private void UpdateButton_Click_1(object sender, EventArgs e)
{
int category = 0;
Int32.TryParse(dgvProduct.SelectedRows[0].Cells[1].Value.ToString(), out category);
Form2 fr2 = new Form2(category); // You are calling parameterized constructor for Form2
fr2.Show();
}
现在在你的Form2 cs文件中:
public partial class Form2 : Form
{
public int Category { get; set; } // Property for selected category (You need this only if you need the category outside Form2 constructor)
public Form2() // Default constructor
{
InitializeComponent();
}
public Form2(int category) // Contructor with string parameter
{
Category = category;
InitializeComponent();
cmbCategory.Text = Category.ToString(); **// Use Text property instead of SelectedItem.**
}
}