将文本框绑定到datagridviewtextboxcolumn?

时间:2012-01-17 14:06:00

标签: c# .net winforms data-binding

是否可以绑定(或类似)标准文本框以在datagridview文本框列中显示所选单元格的内容(动态)?

我的目标是,当此列中的单元格更改其值时,textbox.text也会更改,当用户选择单元格然后在此单独的文本框中键入内容时,值将更新datagridview textboxcolumns值在飞行中。

2 个答案:

答案 0 :(得分:1)

是的,您可以将公共dataSource绑定到TextBox和DataGridView。

public class Foo
{
  public string Item { get; set; }
}

private void Form2_Load(object sender, EventArgs e)
 {
  List<Foo> list = new List<Foo>()
      {
       new Foo() { Item="1" },
       new Foo() { Item="2" }
   };

  dataGridView1.DataSource = list;
  textBox1.DataBindings.Add("Text", list, "Item");
}

答案 1 :(得分:0)

将“adatapost”中的想法应用到 C# 中的 DataGridView:

        TextBox txt = this.txtBox1;
        DataGridView dgv = this.datagridview1;
        txt.DataBindings.Add("Text", dgv.DataSource, "FieldName");
        dgv = null;
        txt = null;

在创建绑定时可能不需要声明单独的变量来保存 TextBox 和 DataGridView。我只是为了清楚起见才展示这些,事实上,这样就足够了:

this.txtBox1.DataBindings.Add("Text", this.datagridview1.DataSource, "FieldName"

澄清一下,“Text”意味着将值输出回 TextBox 的“Text”属性,并且“FieldName”应该替换为您想要绑定到的 DataGridView 中的任何列。

注意 - 在放置绑定代码之前,请确保您已经设置了数据源/填充了 DataGridView,如果未设置数据源并因此包含您希望绑定到的字段,您将收到错误消息。

>