• C# DataGridView的使用


    总结下DataGridView的一些使用细节

    如下代码我参考的是:

    https://blog.csdn.net/weixin_41835916/article/details/84314828

    https://blog.csdn.net/qq_36051316/article/details/115904884

                //获取当前活动单元格内容
                Console.WriteLine("当前活动单元格内容:" + DataGri_Store.CurrentCell.Value);
                //取得当前单元格的列Index
                Console.WriteLine("当前单元格的列Index:" + DataGri_Store.CurrentCell.ColumnIndex);
                //取得当前单元格的行Index
                Console.WriteLine("取得当前单元格的行Index:" + DataGri_Store.CurrentCell.RowIndex);
                // 设定当前活动单元格的索引是(1, 1)  
                DataGri_Store.CurrentCell = DataGri_Store[1, 1];
    
                //根据Header和所有单元格的内容自动调整行的高度
                dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
                //添加三列
                for (int i = 0; i < 3; i++)
                {
                    dataGridView1.Columns.Add(new DataGridViewTextBoxColumn());
                    dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;  //设置所有列自适应宽度
                }
                //三列的标题
                dataGridView1.Columns[0].HeaderText = "序号";
                dataGridView1.Columns[1].HeaderText = "日期";
                dataGridView1.Columns[2].HeaderText = "说明";
                //设置对齐方式和字体
                dataGridView1.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dataGridView1.Font = new Font("宋体", 11);
    
                /******************************新增加的代码************************************/
                dataGridView1.ReadOnly = true;    //设置所有单元格都不可编辑
                // 设置 DataGridView1 的第2列整列单元格为只读
                dataGridView1.Columns[1].ReadOnly = true;
                // 设置 DataGridView1 的第3行整行单元格为只读
                dataGridView1.Rows[2].ReadOnly = true;
                // 设置 DataGridView1 的[0,0]单元格为只读
                dataGridView1[0, 0].ReadOnly = true;
                /**********************************************************************************/
    
                //添加行
                int index = this.dataGridView1.Rows.Add();
                this.dataGridView1.Rows[index].Cells[0].Value = count++;
                this.dataGridView1.Rows[index].Cells[1].Value = "2";
                this.dataGridView1.Rows[index].Cells[2].Value = "监听";
    
                //通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * ) 
                //将 DataGridView 对象的 AllowUserToAddRows 属性设置为 False。
    
                //列宽和行高自动调整的设定
                // 设定包括Header和所有单元格的列宽自动调整 
                DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
                // 设定包括Header和所有单元格的行高自动调整 
                DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
    
                //设定指定单元格行高和列宽自动调整
                // 第一列自动调整 
                DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                // 设定列头的宽度可以自由调整 
                DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
                // 设定行头的宽度可以自由调整 
                DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
                // 改变DataGridView1的第一列列头内容
                DataGri_Store.Columns[0].HeaderCell.Value = "第一列";
                // 改变DataGridView1的第一行行头内容
                DataGri_Store.Rows[0].HeaderCell.Value = "第一行";
                // 改变DataGridView1的左上头部单元内容
                DataGri_Store.TopLeftHeaderCell.Value = "左上";
    View Code
                //只允许选中单行
                DataGri_Store.MultiSelect = false;
                //整行选中
                DataGri_Store.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    //列宽自适应
    column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                //用户可以拖动列来进行自定义的列展示
                DataGri_Store.AllowUserToOrderColumns = true;
                 //行头,列头不显示
                DataGri_Store.RowHeadersVisible = false;
                DataGri_Store.ColumnHeadersVisible = false;   
            //行头显示行号
            private void DataGri_Store_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
            {
                //显示在HeaderCell上
                for (int i = 0; i < this.DataGri_Store.Rows.Count; i++)
                {
                    DataGridViewRow r = this.DataGri_Store.Rows[i];
                    r.HeaderCell.Value = string.Format("{0}", i + 1);
                }
                this.DataGri_Store.Refresh();
            }
    View Code
    //获取当前选中行的某个字段(或者索引值)对应的值            
    int _SelectIndex= DataGri_Store.CurrentRow.Index;
                string _C_PAPERROLL_NO = DataGri_Store.Rows[_SelectIndex].Cells["纸卷号"].Value.ToString();
    View Code
  • 相关阅读:
    python--函数的返回值、函数的参数
    python--字典,解包
    Vue--ElementUI实现头部组件和左侧组件效果
    Vue--整体页面布局
    jmeter--non GUI
    python--切片,字符串操作
    celery--调用异步任务的三种方法和task参数
    celery--实现异步任务
    celery--介绍
    开发问题记录
  • 原文地址:https://www.cnblogs.com/ziqiumeng/p/16183039.html
Copyright © 2020-2023  润新知