2010-08-05 20 views
1

我有一張關聯一個ID與客戶的姓和名(兩個單獨的字段)的表。我有我的窗體上的文本框供用戶輸入客戶ID,我想上的標籤,如顯示的名稱的實時更新:將forename和surname字段綁定到標籤?

TextBox: 1 --> Label: "Sam Pell" (user types 1) 
TextBox: 12 --> Label: "Andy Other" (user types 2) 

我有兩個問題,真的 - 我.NET中的新數據綁定:

  • 如何使TextBox的內容更新Label上顯示的名稱?
  • 如何在一個Label控件中顯示兩個單獨的字段(連接)?

我目前使用Visual Studio數據綁定組件;即BindingSourceTableAdapterDataSet

回答

1

您正在綁定的類型可能具有隻讀屬性,該屬性具有連接值。

public class Person 
{ 
    string Forename { get; set; } 
    string Surname { get; set; } 
    string FullName 
    { 
     get { return String.Format("{0} {1}", Forename, Surname); } 
    } 
} 

然後FullName屬性綁定到Label控件。

如果您使用的是DataSet,則使用表達式「forename +」'+ surname'將自定義列添加到您的DataTable中。 More info here

要更新你必須處理您的文本框的TextChanged事件標籤:

textBox1.TextChanged +=() => label1.Text = (string) dt.Rows.Find(textBox1.Text)["columnName"]; 

,其中列名是新列的名稱。

+0

我需要標籤才能根據輸入到文本框中的ID顯示客戶端的名稱,只是爲了複製文本。 – Rezzie 2010-08-06 09:17:15

+0

謝謝。很有幫助。 – Rezzie 2010-08-06 12:58:37

0

如何從數據庫中獲取值?你也許可以修改你的查詢來連接像這樣的值;

SELECT firstName + " " + surname FROM user 

因此,當數據綁定剛剛獲得一個值時,

+0

我有一個DataSet與TableAdapters和一個BindingSource - 我沒有寫任何SQL,所以不能連接他們那樣? – Rezzie 2010-08-05 13:34:41