2015-04-21 50 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