|
想用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(); }
|
|
|