如何實現用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;

對於第一種方法,我已經試過了,是可以的,但是對於第二種方法,我嘗試的並未達到效果。

最後我們根據需要將單元格的text設置相應的值,就可以進行統計表格的使用了!

注好運!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章