2015-04-21 85 views
-2

數據存在於lstListSource中,但不具有約束力。數據未在列表框中綁定

objLogEntries.Message.AppendLine("Bind ListBox with list started..."); 
listBoxControl.DataSource = lstListSource; 
listBoxControl.DataTextField = strDataTextField; 
listBoxControl.DataValueField = strDateValueField; 
listBoxControl.DataBind(); 
objLogEntries.Message.AppendLine("Bind ListBox with list ended..."); 
Log.WriteTraceLog(objLogEntries); 

它拋出一個異常:lstlnkSRAlias'(ID of listbox) has a SelectedValue which is invalid because it does not exist in the list of items

+0

DataValueField一個完整的例子必須設置爲一個存在於lstListSource中的值。這個例外是告訴我,DataValueField被設置爲一個值不是 – Amir

+0

@Amir,我沒有得到......數據進入lstListSource –

+0

什麼是'strDataTextField'和'strDateValueField'的賦值? – DevT

回答

1

你不使用DataTextFieldDataValueField正確。它應該設置爲您嘗試綁定到的對象上的屬性的名稱。喜歡的東西:

listBoxControl.DataSource = lstListSource; 
listBoxControl.DataTextField = "Text"; 
listBoxControl.ValueMember = "Value"; 
listBoxControl.DataBind(); 

另外,如果結合越來越刷新嘗試設置數據源之前清除列表:

listBoxControl.Items.Clear(); 
listBoxControl.SelectedIndex = -1; 
listBoxControl.SelectedValue = null; 
listBoxControl.ClearSelection(); 
listBoxControl.DataSource = lstListSource; 

有一個在documentation

+0

每件事情都很完美,但數據不具有約束力。 –

+0

什麼時候拋出異常?你可以在'lstListSource'中發佈數據嗎? – RagtimeWilly