从DevExpress数据库中绑定数据

问题描述:

在我的项目中,我有一个名为SubControl的UserControl。在该UserControl中包含TreeList和两个Button。该按钮用于聚焦列表的下一行和上一行。从DevExpress数据库中绑定数据

在另一个项目中,我有另一个名为MainControl的UserControl各种控件,在这里我使用SubControl。

我的问题是,从MainControl我无法将数据绑定到数据库的treelist。

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

SubControl的DataSource属性是字符串类型。所以你不能将数据集分配给字符串。你可以分享SubControl类的代码吗?你如何使用它的DataSource属性来填充树? –

+0

@ChetanRanpariya我为DataSource创建了Object type属性 – User6667769

+0

如何使用DataSource属性创建treeview? –

您必须绑定到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属性的 。有关这方面的更多信息,请参阅以下 帮助文章:Tree Generation XtraTreeList中的算法。

+0

嘿,其实我正在使用TreeList。数据库中的表中没有子节点。我需要简单地绑定Treelist中的数据 – User6667769

+0

这是第三方控件吗? –

+0

是的,它的DevExpress树列表 – User6667769