[英]Show DataTable in a TreeView control
我有一個 DataTable TblTreeView,它有四列
ParentID(pk) | 家長姓名| LeftChildID | 右子ID
我想在樹視圖中顯示所有數據;
像這樣
父母名字
|
|_左子ID
|
|_RightChildID
我正在使用
SqlDataAdapter dataAdapter = new SqlDataAdapter("Select * from tblTreeView", SqlCon);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
TreeView1.DataSource = dataSet.Tables[0];
TreeView1.DataBind();
然后發生錯誤:- HierarchicalDataBoundControl 只接受實現 IHierarchicalDataSource 或 IHierarchicalEnumerable 的數據源。 請給我執行此操作的代碼; 謝謝先生/女士
這些樣本可能是指南
在自定義集合中實現 IHierarchy 支持
分層中繼器和匹配的附件
我看到這篇文章非常適合從 Dataset 綁定數據。
將 ASP.NET TreeView 綁定到 DataSet 或 ObjectDataSource
我實現了這個代碼如下..
private void GenerateCoaTree()
{
DataSet ds = new DataSet();
dcAccountingDataContext dc = new dcAccountingDataContext();
DataTable dt = dc.usp_RPT_ChartOfAccount_Select(null, CompanyID).CopyToDataTable();
ds.Tables.Add(dt);
// The second parmeter for the ID of the element and the third parameter is the ID of the parent element in the tree.
TreeViewCoa.DataSource = new HierarchicalDataSet(ds, "AccountID", "COA_ID");
TreeViewCoa.DataBind();
}
第一次加載頁面時,我在 Page_Load 頁面中調用了這個方法來綁定 TreeView 控件。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GenerateCoaTree();
}
}
<asp:TreeView ID="TreeViewCoa" runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="System.Data.DataRowView"
TextField="COADescription" ValueField="AccountID" />
</DataBindings>
</asp:TreeView>
我希望這將幫助您解決您的問題:)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.