zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    C#分部类和分部方法的使用
    C# 关于线程锁lock的使用方法
    Halcon标定流程及注意事项
    C#如何将ListView中的数据导出到Excel中
    Application.DoEvents()的作用
    (C#)使用队列(Queue)解决简单的并发问题
    C#的委托 VS C++的指针
    转载——卷积神经网络(CNN)基础入门介绍
    Linux启动详细过程(开机启动顺序)
    Nginx https 证书配置
  • 原文地址:https://www.cnblogs.com/arxive/p/6006847.html
Copyright © 2011-2022 走看看