在我的项目中,我有一个名为SubControl的UserControl
。在包含TreeList
和两个Button
的UserControl中。用于聚焦树状列表的下一行和上一行的按钮。
在另一个项目中,我有另一个名为MainControl的UserControl各种控件,而且我在这里使用SubControl。
我的问题是,从MainControl,我无法将数据绑定到数据库的树状列表中。
SqlConnection SqlCon = new SqlConnection("Data Source=source; Initial Catalog=dbname; Integrated Security=True");
SqlCon.Open();
SqlCommand ad = new SqlCommand("Select* from mytablename", SqlCon);
SqlDataAdapter da = new SqlDataAdapter(ad);
DataSet ds = new DataSet();
da.Fill(ds);
SubControl.DataSource = ds;
SubControl.DataBindings();
我怎样才能做到这一点。帮助赞赏
答案 0 :(得分:2)
您必须绑定到DataTable,而不是DataSet。
SubControl.DataSource = ds.Tables[0];
来自DevExpress:
https://www.devexpress.com/Support/Center/Question/Details/Q520794
为了创建树列表层次结构,它是 在源DataTable中指定两个附加字段所必需的。 第一个字段必须存储节点的唯一ID(在大多数情况下,存储在那里) 已经是DataTable中的主键。另一个领域必须 包含每个节点的父节点的ID。要指定这些字段 对于TreeList控件,使用TreeList.KeyFieldName和 TreeList.ParentFieldName属性。请参阅以下内容 有关这方面的更多信息的帮助文章:树生成 XtraTreeList中的算法。