Связывание данных в DevExpress Treelist из базы данных
В моем проекте у меня есть UserControl
называется SubControl. В том UserControl, который содержит TreeList
и два Button
, кнопка, используемая для фокусировки на следующем и предыдущем ряду древовидного списка.
В другом проекте у меня есть другой UserControl под названием MainControl различные элементы управления, и здесь я использую 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();
Как я могу достичь этого. Помогает ценится
1 ответ
Вы должны привязать к DataTable, а не к DataSet.
SubControl.DataSource = ds.Tables[0];
От DevExpress:
https://www.devexpress.com/Support/Center/Question/Details/Q520794
Чтобы создать иерархическую структуру древовидного списка, необходимо указать два дополнительных поля в исходной таблице данных. В первом поле должны храниться уникальные идентификаторы узлов (в большинстве случаев в DataTable уже есть первичный ключ). Другое поле должно содержать идентификатор родительского узла для каждого узла. Чтобы указать эти поля для элемента управления TreeList, используйте свойства TreeList.KeyFieldName и TreeList.ParentFieldName. Пожалуйста, обратитесь к следующей статье справки для получения дополнительной информации в этом отношении: Алгоритм генерирования дерева в XtraTreeList.