Связывание данных в 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.

Другие вопросы по тегам