如何实现用DataGridView来做统计表格

1、如何默认创建一个DataGridview为默认单元格数(n行m列)

 // dataGridViewG1
            // 
            this.dataGridViewG1.AllowUserToAddRows = false;
            this.dataGridViewG1.AllowUserToDeleteRows = false;
            this.dataGridViewG1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridViewG1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
            this.dataGridViewG1.Location = new System.Drawing.Point(12, 12);
            this.dataGridViewG1.Name = "dataGridViewG1";
            this.dataGridViewG1.ReadOnly = true;
            this.dataGridViewG1.RowTemplate.Height = 27;
            this.dataGridViewG1.Size = new System.Drawing.Size(250, 250);
            this.dataGridViewG1.TabIndex = 0;
            this.dataGridViewG1.RowCount = 5;
            this.dataGridViewG1.ColumnCount = 5;

这样我们所设计datagridviw为5行5列,如图所示:


当然这个datagridview显示的单元格只是处事单元格。接下来我们还需对单元格进行设置

2、单元格行列宽度

那怎么去掉上边那个列标题行呢?

其实我们设置一下ColumnHeaderVisiable属性就可以了,让其value=false。此属性就是是否显示列标题。同理,行的话我们可以设置一下ROHeaderVisiable属性,使其为false。

则呈现如下图所示:


同时我再次设置了列宽=50,具体代码如下:

  // dataGridViewTextBoxColumn1
            // 
            //this.dataGridViewTextBoxColumn1.HeaderText = "";
            this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
            this.dataGridViewTextBoxColumn1.ReadOnly = true;
            this.dataGridViewTextBoxColumn1.Width = 50;
            // 
            // dataGridViewTextBoxColumn2
            // 
            //this.dataGridViewTextBoxColumn2.HeaderText = "";
            this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
            this.dataGridViewTextBoxColumn2.ReadOnly = true;
            this.dataGridViewTextBoxColumn2.Width = 50;
            // 
            // dataGridViewTextBoxColumn3
            // 
            //this.dataGridViewTextBoxColumn3.HeaderText = "";
            this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
            this.dataGridViewTextBoxColumn3.ReadOnly = true;
            this.dataGridViewTextBoxColumn3.Width = 50;
            // 
            // dataGridViewTextBoxColumn4
            // 
            //this.dataGridViewTextBoxColumn4.HeaderText = "";
            this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
            this.dataGridViewTextBoxColumn4.ReadOnly = true;
            this.dataGridViewTextBoxColumn4.Width = 50;
            // 
            // dataGridViewTextBoxColumn5
            // 
            //this.dataGridViewTextBoxColumn5.HeaderText = "";
            this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5";
            this.dataGridViewTextBoxColumn5.ReadOnly = true;
            this.dataGridViewTextBoxColumn5.Width = 50;
其实可以通过设置


或者通过设置Columns集合属性,如下图所示:

注1:要将

this.dataGridViewTextBoxColumn3.HeaderText = "";
去掉,如果这句存在就可能出现问题。

注2: 

this.dataGridViewG1.ColumnCount = 5;
            this.dataGridViewG1.RowCount = 5;
这两句一旦修改了datagridview就会没有了,所以重新写一遍最后。就会重新绘制一遍datagridview表格,就会绘制成如下图所示:


也就是说,行的宽度是根据datagridview平均分配的,如果最后设置行列数的话。如果不行的话可以设置

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridView1.RowTemplate.Height = 50;

这个没有验证过,应该是可行的。

3、设置单元格颜色

首先我们要得到单元格的位置,然后再进行对其style的backcolor进行设置,具体代码如下:

this.dataGridViewG6.Rows[3].Cells[2].Style.BackColor = System.Drawing.Color.Black;

BackColor可根据属性BackColor设置的值进行对其赋值.引用的颜色来源显而易见:System.Drawing.Color类。

效果图如下所示:


此处有个问题,我们很明显的发现,在每个datagridview中默认都是选中第一个单元格。都会默认其相应的颜色,如何取消起默认的颜色呢?

这里我提供两种方法:

一种: 

dataGridView1.ClearSelection();
另一种方法是:

dataGridView1.Rows[0].Selected=false;
对于第一种方法,我已经试过了,是可以的,但是对于第二种方法,我尝试的并未达到效果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值