我有一个表将ID与客户的姓名和姓氏(两个单独的字段)相关联。我的表单上有一个TextBox,供用户输入客户端ID,我想要在标签上显示名称的实时更新,例如:
TextBox: 1 --> Label: "Sam Pell" (user types 1)
TextBox: 12 --> Label: "Andy Other" (user types 2)
我有两个问题,真的 - 我是.NET中数据绑定的新手:
我目前正在使用Visual Studio数据绑定组件;即BindingSource
,TableAdapter
和DataSet
。
答案 0 :(得分:1)
您绑定的类型可能具有readonly属性,该属性具有连接值。
public class Person
{
string Forename { get; set; }
string Surname { get; set; }
string FullName
{
get { return String.Format("{0} {1}", Forename, Surname); }
}
}
然后将FullName属性绑定到标签控件。
如果您使用的是DataSet,则将自定义列添加到DataTable,表达式为“forename +''+ surname”。 More info here
要更新标签,您必须处理文本框的TextChanged事件:
textBox1.TextChanged += () => label1.Text = (string) dt.Rows.Find(textBox1.Text)["columnName"];
其中列名是新列的名称。
答案 1 :(得分:0)
您是如何从数据库中获取值的?你也许可以修改你的查询来连接像这样的值;
SELECT firstName + " " + surname FROM user
所以你在数据绑定时只需要一个值来对抗。