【问题标题】:How to DataBind a TextBox to a particular index in a List<>如何将文本框数据绑定到 List<> 中的特定索引
【发布时间】:2011-10-26 16:19:13
【问题描述】:

我为我的所有文本框设置了标准数据绑定到这样的对象:

TextBoxMenuID.DataBindings.Add("Text", _selectedObject, "ID");

我想将我的一些文本框绑定到该对象内的 List 索引,如下所示:

TextBoxQ1.DataBindings.Add("Text", _selectedObject._qList[0].QuestionString, null);

绑定无法以这种方式工作。任何想法如何进行这种绑定?

谢谢, SleffTheRed

【问题讨论】:

  • 如果您使用您提供的第一个 sn-p 但在代码中您还分配给 selectedObject 您在第二个 sn-p 中使用的列表的位置 0 中的项目的对象,它是如何工作的?
  • 如何将列表位置 0 的项目分配给选定的对象?

标签: c# .net winforms data-binding


【解决方案1】:

如果您使用通用列表作为数据集合,那么您可以这样做:

List<Person> list;
public Form1()
{
   InitializeComponent();
   list = new List<Person>();
   list.Add(new Person { ID = 1, Name = "Name 1", Age = 21 });
   list.Add(new Person { ID = 2, Name = "Name 2", Age = 28 });

   textBox1.DataBindings.Add(new Binding("Text", list, "ID", false));
   textBox2.DataBindings.Add(new Binding("Text", list, "Name", false));
   textBox3.DataBindings.Add(new Binding("Text", list, "Age", false));
}

internal class Person
{
   public int ID { get; set; }
   public string Name { get; set; }
   public int Age { get; set; }
}

【讨论】:

  • 是的 Mitja,感谢您的回答,但 Davide 是对的。我实际上需要您用作示例的 3 个文本框来绑定:例如 textBox1 -> 绑定到“Name 1”,textBox2 -> 绑定到“Name 2”。
  • +1 这样我就可以复制您的代码 Mitja,但是 Sleff,请参阅我粘贴在上面的代码,它非常简单。
【解决方案2】:

感谢 Mitja 提供代码,但要更改索引只需添加 []:

list = new List<Person>();
list.Add(new Person { ID = 1, Name = "Name 1", Age = 21 });
list.Add(new Person { ID = 2, Name = "Name 2", Age = 28 });
list.Add(new Person { ID = 3, Name = "Name 3", Age = 44 });

textBox1.DataBindings.Add(new Binding("Text", list[0], "Name", false));
textBox2.DataBindings.Add(new Binding("Text", list[1], "Name", false));
textBox3.DataBindings.Add(new Binding("Text", list[2], "Name", false));

internal class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

【讨论】:

    猜你喜欢
    • 2013-08-01
    • 2020-10-06
    • 2011-04-23
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多