0

在我的项目中,我有一个UserControl名为 SubControl。在包含TreeList和两个的 UserControl 中Button。用于聚焦树列表的下一行和上一行的按钮。

在另一个项目中,我有另一个名为 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();

我怎样才能做到这一点。帮助赞赏

4

1 回答 1

2

您必须绑定到 DataTable,而不是 DataSet。

SubControl.DataSource = ds.Tables[0];

来自 DevExpress:

https://www.devexpress.com/Support/Center/Question/Details/Q520794

为了创建树列表层次结构,有必要在源数据表中指定两个附加字段。第一个字段必须存储节点的唯一 ID(在大多数情况下,DataTable 中已经有一个主键)。另一个字段必须包含每个节点的父节点 ID。若要为 TreeList 控件指定这些字段,请使用 TreeList.KeyFieldName 和 TreeList.ParentFieldName 属性。有关这方面的更多信息,请参阅以下帮助文章:XtraTreeList 中的树生成算法。

于 2017-05-24T11:46:24.043 回答