簡體   English   中英

在 TreeView 控件中顯示 DataTable

[英]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 的數據源。 請給我執行此操作的代碼; 謝謝先生/女士

我看到這篇文章非常適合從 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM