瀏覽次數: 627316

  • WebTreeView中,如何在新增了一個子節點後,將該節點設定為選中狀態?
    需寫一個遞迴程式:
    public TreeNode Find(TreeNode node)
    {
    if(node.Text == "YourText") return node;
    for (int i = 0; i < node.ChildNodes.Count; i++)
    {
    TreeNode nd = Find(node.ChildNodes[i]);
    if (nd != null)
    return nd;
    }
    return null;
    }
    再寫一個查找,比如放在ButtonClick:
    TreeNode node = null;
    for (int i = 0; i < WebTreeView1.Nodes.Count; i++)
    {
    node = Find(WebTreeView1.Nodes[i]);
    if (node != null) break;
    }
    node.Select();
  • WebTreeView的新增及修改能否不採用彈出視窗的方式?
    WebTreeView的編輯方式目前的規格就是使用彈出視窗的方式,如果您覺得這種方式不符合您的需求,您可以自行通過Textbox來編輯資料,用程式新增或更改到WebDataSource中,類似我們EEPManager中對菜單的編輯。
  • 想用TreeView綁定從存儲過程返回的一個Cursor(有id,pid項),請問該如何處理?
    因?TreeView只能binding到DataSource,而DataSource又不能直接使用存儲過程做?資料來源,所以需要一種妥協的方法來整合。
    1. Server端放置一個InfoCommand,可以通過sql語句取得一個跟存儲過程返回資料完全一樣的結構。
    2. Client端關聯到此InfoCommand。
    3. 顯示的時候,可以先取得存儲過程的資料,然後用程式新增到WebDataSource的InnerDataSet中。
    假設這個WebDataSource的ID為WebDataSource1,代碼參考如下
    DataSet ds = new DataSet();
    string str = "AT035CMA22J100A0001";
    object[] ret = Srvtools.CliUtils.CallMethod("bom_info", "Call_TreeView", new object[] {str});
    if (ret[0].ToString() == "0")
    {
    ds = (DataSet)ret[1];
    WebDataSource1.InnerDataSet = ds;
    WebDataSource1.DataMember = ds.Tables[0].TableName;
    WebTreeView1.WebDataSourceID = "WebDataSource1";
    WebTreeView1.KeyField = "TREE_ID";
    WebTreeView1.ParentField ="PID";
    WebTreeView1.TextField = "PART_NO";
    WebTreeView1.Initial();
    }