从另一个表单c#更新DatagridviewComboboxColumn

时间:2014-12-22 10:01:37

标签: c# updating datagridviewcombobox

我有一个datagridviewComboboxColumn绑定到数据表,我想要的是当我添加

从另一个表格到此数据表的新行将更新datagridviewComboboxColumn

以便选择添加的项目。我试图刷新

的数据源

datagridviewComboboxColumn但我无法以正确的方式获取它。

修改

这是我尝试的代码(Form2是包含datagridview和Categorie

的主要表单

表单是我在其中添加新类别的表单):

窗体2:

public void refreshDatagrid()
    {
        ((DataGridViewComboBoxColumn)dataGridView2.Columns["idCategorieDataGridViewTextBoxColumn1"]).DataSource = categorieBindingSource;
        ((DataGridViewComboBoxColumn)dataGridView2.Columns["idCategorieDataGridViewTextBoxColumn1"]).DataPropertyName = "IdCategorie";
        ((DataGridViewComboBoxColumn)dataGridView2.Columns["idCategorieDataGridViewTextBoxColumn1"]).DisplayMember = "LibCategorie";
        ((DataGridViewComboBoxColumn)dataGridView2.Columns["idCategorieDataGridViewTextBoxColumn1"]).ValueMember = "IdCategorie";
    }

分类形式:

public partial class Categorie : Form
{
    Form2 f2;

    public Categorie(Form2 frm2)
    {
        InitializeComponent();
        f2 = frm2;

    }

    private void AjoutCat_Click(object sender, EventArgs e)
    {


        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=|DataDirectory|\database.mdf;Integrated Security=True;User Instance=True";
        con.Open();

        SqlCommand insertCommande = new SqlCommand
        (" INSERT INTO [Categorie] (IdCategorie,LibCategorie)  VALUES (@IdCategorie,@LibCategorie)", con);

        insertCommande.Parameters.AddWithValue("@IdCategorie", CodeCategorietextBox.Text);
        insertCommande.Parameters.AddWithValue("@LibCategorie", LibFamilleTextBox.Text);

        insertCommande.ExecuteNonQuery();

        f2.refreshDatagrid();

        MessageBox.Show("Categorie ajoutée avec succés");
        this.Close();
        con.Close();
    }

}

但是在分类表单中单击AjoutCat按钮并添加新类别

datagridviewComboboxColumn未更新。

任何人都可以告诉我错误在哪里吗?

提前致谢。

0 个答案:

没有答案