数据网格视图光标

时间:2011-10-18 17:02:30

标签: c# winforms bindingsource

我的数据网格显示了我的sqlBd中的一个表。我为每个列添加了一个textBox,用于显示每一行。

这是我的代码:

 private void CustomerViewToolStripMenuItem_Click(object sender, EventArgs e)
    {
        BindingSource Clients_bs = new BindingSource();
        SqlConnection con = new SqlConnection(dc.Con);
        con.Open();
        da.SelectCommand = new SqlCommand("SELECT * FROM Clients", con);

        da.Fill(dt);
        con.Close();

        dgCustomers.DataSource = dt;
        Clients_bs.DataSource = dt;

       txtBoxIdCustomers.DataBindings.Add(new Binding("Text", Clients_bs,"id_Client"));                

        txtBoxFullName.DataBindings.Add(new Binding("Text", Clients_bs, "prénom_Nom"));
        txtBoxAddress.DataBindings.Add(new Binding("Text", Clients_bs, "adresse"));
        txtBoxCity.DataBindings.Add(new Binding("Text", Clients_bs, "ville"));
        txtBoxProvince.DataBindings.Add(new Binding("Text", Clients_bs, "province"));
        txtBoxPostal.DataBindings.Add(new Binding("Text", Clients_bs, "code_Postal"));
        txtBoxPhone.DataBindings.Add(new Binding("Text", Clients_bs, "numéro_Teléphone"));
    }   

这样填充我的dataGrid就像我在sql中的表一样,而我的txtbox显示第一行只有光标指向我的dataGrid的第一行。

我想在第二行移动数据网格的光标,并在第二行自动显示txtbox的绑定....

我可以前一个和下一个按钮,但不能使用光标...

谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

而不是:

dgCustomers.DataSource = dt;
Clients_bs.DataSource = dt;

这样做:

Clients_bs.DataSource = dt;
dgCustomers.DataSource = Clients_bs;

然后它应该作为TextBoxes和Grid具有相同的BindingSource; - )

修改

还请,而不是:

SqlConnection con = new SqlConnection(dc.Con);
con.Open();
da.SelectCommand = new SqlCommand("SELECT * FROM Clients", con);

da.Fill(dt);
con.Close();

这样做:

using(var con = new SqlConnection(dc.Con))
{
    con.Open();
    da.SelectCommand = new SqlCommand("SELECT * FROM Clients", con);

    da.Fill(dt);
}