在Treelist中绑定一条记录
问题描述:
我在将单行绑定到treelist时遇到了问题。在我的申请中,我有两种形式。第一种形式包含treelist它将包含行列表。在Treelist中绑定一条记录
我需要列表中的选定行。使用
public object selectedRow
{
return treelist.GetDataRecordByNode(treelist.FocusedNode)
}
使用此代码我得到选定的行。
在第二个窗体中,我试图绑定那一行。
public void row(selectedRow)
{
treelist2.DataSource=selectedRow; //I get the row value here.
}
但是数据无法显示在第二个列表中。我需要做什么来将选定的行绑定到第二个treelist。
答
DataSource应该是IEnumerable类型的。 尝试这样的事情(伪代码前面):
public void row(selectedRow)
{
List<yourType> list = new List<yourType>();
list.Add(selectedRow);
treelist2.DataSource=list;
}
答
请通过的TreeList的Data Binding部分,Data Binding主题提供了绑定的TreeList数据的完整信息。
你可以找到参考与类绑定它反对在这里 - Binding Controls to Data Created at Runtime
在你行的方法,您应该指定数据源属性之前创建List<ClassType>
或BindingList<ClassType>
。可以创建和绑定到数据感知控制类类别的对象的列表如下:
BindingList<ClassType> list = new BindingList<ClassType>();
treelist2.DataSource = list;
参考文献:
DevExpress TreeList not displaying child nodes and displaying as root nodes instead
binding data to the treelist control
Binding data in DevExpress Treelist from database
其示出了在list.Add误差(selectedRow)列表不包含添加方法 – user8331467
将IEnumerable 更改为列表 - 我编辑了我的答案 –