C# DataGridView的初始化


 

動態添加列和行

方法一

通過手動添加Datatable,再綁定dataGridView

DataTable dt = new DataTable();//建立個數據表
dt.Columns.Add(new DataColumn("id", typeof(int)));//在表中添加int類型的列
dt.Columns.Add(new DataColumn("Name", typeof(string)));//在表中添加string類型的Name列
DataRow dr;//
for (int i = 0; i < 3; i++)
{
      dr = dt.NewRow();
      dr["id"] = i;
      dr["Name"] = "Name" + i;
      dt.Rows.Add(dr);//在表的對象的行里添加此行
}

dataGridView1.DataSource =dt;


如果要添加一個textbox效果的列,可做如下處理

dt.Columns.Add(new DataColumn("選中", typeof(bool));

 

方法二

直接在dataGridView中插入

dataGridView1.ColumnCount = 4;
dataGridView1.ColumnHeadersVisible = true;

// Set the column header style.
DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle();

columnHeaderStyle.BackColor = Color.Beige;
columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold);
dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;

// Set the column header names.
dataGridView1.Columns[0].Name = "Recipe";
dataGridView1.Columns[1].Name = "Category";
dataGridView1.Columns[2].Name = "Main Ingredients";
dataGridView1.Columns[3].Name = "Rating";

// Populate the rows.
string[] row1 = new string[] { "Meatloaf", "Main Dish", "ground beef","**" };
string[] row2 = new string[] { "Key Lime Pie", "Dessert", "lime juice, evaporated milk", "****" };
string[] row3 = new string[] { "Orange-Salsa Pork Chops", "Main Dish", "pork chops, salsa, orange juice", "****" };
string[] row4 = new string[] { "Black Bean and Rice Salad", "Salad", "black beans, brown rice", "****" };
string[] row5 = new string[] { "Chocolate Cheesecake", "Dessert", "cream cheese", "***" };
string[] row6 = new string[] { "Black Bean Dip", "Appetizer", "black beans, sour cream", "***" };
object[] rows = new object[] { row1, row2, row3, row4, row5, row6 };

foreach (string[] rowArray in rows)
{
    dataGridView1.Rows.Add(rowArray);
}

 

插入DataGridViewCheckBoxColumn列

DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
{
  column.HeaderText = "選中";
  column.Name = isSelected;
  column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
  column.FlatStyle = FlatStyle.Standard;
  column.ThreeState = true;
  column.CellTemplate = new DataGridViewCheckBoxCell();
  column.CellTemplate.Style.BackColor = Color.Beige;
}
DataGridView1.Columns.Insert(
0, column);

 

DGV的常用屬性設置

1. 禁用編輯功能

dataGridView1.ReadOnly = true ;

2.不讓DataGridView自動生成列

只需要把屬性AutoGenerateColumns設為false即可。
需要注意: 在界面設計的屬性窗口中是看不到AutoGenerateColumns屬性的,

需要在代碼中設定,比如在窗口的構造函數中設定:dataGridView1.AutoGenerateColumns = false;

 


免責聲明!

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



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