日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析C#綁定ComBobox控件的解決方法

一般的C# 綁定,都是將ID進(jìn)行遞歸,然后再幫頂。這里將解決普通綁定中會出現(xiàn)的問題。希望對大家有所幫助。

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出龍勝免費(fèi)做網(wǎng)站回饋大家。

在C/S模式下,在這樣一種情況下:

ID    

NAME

ParentID

1aa0
2bb1
3cc2

從以上圖標(biāo)中可看出關(guān)系:ID:1是父節(jié)點(diǎn),ID:2是ID:1的子節(jié)點(diǎn),而ID:3又是ID:2的子節(jié)點(diǎn)。這種關(guān)系其實(shí)并不復(fù)雜,但是你要通過一個Combobox來檢索出ID:1節(jié)點(diǎn)下的所有節(jié)點(diǎn),就必須使用遞歸了。因此,問題也就出現(xiàn)了,用普遍的方式來C# 綁定,會使界面上數(shù)量顯示成[ Control:name ] ,具體的筆者不再重復(fù),如果你看到這篇文章,那么你應(yīng)該會明白我的意思。好,下面來看解決方案吧!

寫一個ListItem類:

 
 
 
  1. public class ListItem   
  2.     {   
  3.         private string id = string.Empty;   
  4.         private string name = string.Empty;   
  5.         public ListItem(string sid, string sname)   
  6.         {   
  7.             id = sid;   
  8.             name = sname;   
  9.         }   
  10.         public override string ToString()   
  11.         {   
  12.             return this.name;   
  13.         }   
  14.         public string ID   
  15.         {   
  16.             get   
  17.             {   
  18.                 return this.id;   
  19.             }   
  20.             set   
  21.             {   
  22.                 this.id = value;   
  23.             }   
  24.         }   
  25.         public string Name   
  26.         {   
  27.             get   
  28.             {   
  29.                 return this.name;   
  30.             }   
  31.             set   
  32.             {   
  33.                 this.name = value;   
  34.             }   
  35.         }   
  36.     } 

C# 綁定方法:

 
 
 
  1. //定義一個方法,傳兩個參數(shù);   
  2.       // 注意:參數(shù)得看你的具體需要,筆下這個方法僅作參考;   
  3.       void init(ComboBox cb, int parentId)   
  4.       {   
  5.           string commandText = String.Format("Select * from  tb_SystemCategory where parentID= {0}",parentId);   
  6.  
  7.           DataSet ds = globalBLL.GetList(commandText);   
  8.           if (ds != null)   
  9.           {   
  10.               foreach (DataRow dr in ds.Tables[0].Rows)   
  11.               {   
  12.                   Global.ListItem item = new LMInvoicingCS.Global.ListItem(dr["id"].ToString(),dr["name"].ToString());   
  13.                   cb.Items.Add(item);   
  14.  
  15.                   init(cb, int.Parse(dr["id"].ToString()));   
  16.               }   
  17.               ds = null;   
  18.           }   
  19.       } 

基本上到這里就可以了,以下是我在“添加/修改”時作的一些設(shè)置。

; 添加的時候,綁定完控件,顯示的應(yīng)該是第一條數(shù)據(jù),因此:

cboCategory.SelectedItem = cboCategory.Items[0];

;修改一條數(shù)據(jù),綁定完控件,顯示給客戶的綁定項(xiàng)應(yīng)該是該編輯項(xiàng)的category,因此:

 
 
 
  1. // 定義一個方法;    
  2. // 這個方法的效率不高,屬于老土型,如果有哪位朋友有更好的方案,歡迎交流,謝謝!    
  3.                 private int com(string value)   
  4.                 {   
  5.                     int index = -1;   
  6.                     for (int i = 0; i < rca.cboCategory.Items.Count; i++)   
  7.                     {   
  8.                         if (((ListItem)rca.cboCategory.Items[i]).ID == value)   
  9.                         {   
  10.                             index = i;   
  11.                         }   
  12.                     }   
  13.                     return index;   
  14.                 }   
  15.  
  16. // 調(diào)用方法   
  17. int indext = com(this.treeViewer.SelectedNode.Tag.ToString());   
  18. cboCategory.SelectedItem = cboCategory.Items[indext]; 

新聞名稱:淺析C#綁定ComBobox控件的解決方法
轉(zhuǎn)載來源:http://www.5511xx.com/article/dhdidop.html