现在的位置: 首页 > 综合 > 正文

datagridview 手动添加列和行

2013年09月16日 ⁄ 综合 ⁄ 共 2322字 ⁄ 字号 评论关闭

方法一:通过手动添加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);

 

当然其它类型的列类似。

抱歉!评论已关闭.