DataTable與DataGridView綁定


     在很多C/S程序中,一般都需要把數據以DataGridView顯示出來,有時可以直接把得到的實體集合綁定到DataGridView上面,但更多的時候,我們是把DataTable綁定到這個控件上面,在綁定之前,我們需要對DataGrdiView進行初始化。一般可以用如下的代碼進行初始化:

DataGridViewImageColumn colImg = new DataGridViewImageColumn();
colImg.Name = "colImg";
colImg.HeaderText = "";
colImg.Image = Properties.Resources.producttype;
colImg.Width = 20;
dgv.Columns.Add(colImg);
 
dgv.Columns.Add("PRODUCTTYPE", "類型");
dgv.Columns["PRODUCTTYPE"].DataPropertyName = "PRODUCTTYPE";
dgv.Columns["PRODUCTTYPE"].Width = 160;
 
dgv.Columns.Add("ALIAS", "別名");
dgv.Columns["ALIAS"].DataPropertyName = "ALIAS";
dgv.Columns["ALIAS"].Width = 200;
 
dgv.Columns.Add("CLASSIFICATION", "類別");
dgv.Columns["CLASSIFICATION"].DataPropertyName = "CLASSIFICATION";
dgv.Columns["CLASSIFICATION"].Width = 200;
dgv.Columns["CLASSIFICATION"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

      一般第一列都是顯示一個圖片,后面的列就要和你的DataTable中的字段對應。需要注意的是,在創建新列的時候,括號里面的英文名稱一定是你DataTable中的列名,中文名稱是你想在界面上顯示的名稱。最后有一句話dgv.Columns["CLASSIFICATION"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;,這個意思是設置最后一列為自動填充模式。因為每一列我們都設置了寬度,當窗體最大化后,所以的列寬加起來沒有窗體寬,那么DataGridView后面就會空出一片出來,把最后一列設置成了自動填充模式后,當窗體最大化時,最后一列的寬度會自動增加,填充其他的空白區域。

     另外,還有一種初始化的方法,也可以使用,代碼如下:

DataGridViewTextBoxColumn colProductType = new DataGridViewTextBoxColumn();
colProductType.DataPropertyName = strPRODUCTTYPE;
colProductType.Name = strPRODUCTTYPE;
colProductType.HeaderText = "類型";
colProductType.Width = 160;
 
DataGridViewTextBoxColumn colAlias = new DataGridViewTextBoxColumn();
colAlias.DataPropertyName = strALIAS;
colAlias.Name = strALIAS;
colAlias.HeaderText = "別名";
colAlias.Width = 200;
 
DataGridViewTextBoxColumn colClassification = new DataGridViewTextBoxColumn();
colClassification.DataPropertyName = strCLASSIFICATION;
colClassification.Name = strCLASSIFICATION;
colClassification.HeaderText = "類別";
colClassification.Width = 200;
 
dgv.Columns.AddRange(new DataGridViewColumn[] { 
   colImg, 
   colProductType, 
   colAlias
   });

當然在這種方法中,strPRODUCTTYPE,strALIAS,strCLASSIFICATION三個變量分別需要提前定義好,它們的值也就是需要綁定的DataTable的列的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM