測試文字功能,小工具,標題

記錄很重要,不然會浪費很多時間在找以前的記憶

一個人的氣度,決定他未來的高度。

2015年8月9日 星期日

C# DataGridView 一些使用記錄

 1、設置DataGridView的欄位填充整個顯示區

            //設置DataGridView的欄位填充整個顯示區
            dgvMe.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

2、調整欄位顯示位置到最後

                //調整欄位顯示位置到最後
                //dgvGroupAttr為DataGridView控件
                dgvGroupAttr.Columns[3].DisplayIndex = 5;

C# 如何指出並顯示指定選取DataGridView上特定一筆資料

dataGridView1.CurrentCell =
dataGridView1.Rows[X].Cells[Y];

選取最後一行
 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//整行選取
 dataGridView1.CurrentCell = dataGridView1.Rows[dt.Rows.Count-1].Cells[0];

3、設定控件的欄位自動調整大小

                    //設定控件的欄位自動調整大小
                    //col:DataGridView控件
                    col.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;


4、設定DataGridView中欄位的寬度

            //設定DataGridView中欄位的寬度
           dgvEntityHardware.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
           dgvEntityHardware.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
           dgvEntityHardware.Columns[0].Width = 110;


      AllCells     資料行寬度會調整,以適合資料行中的所有儲存格的內容 (包括標題儲存格)。
      AllCellsExceptHeader     資料行寬度會調整,以適合資料行中的所有儲存格的內容 (不包括標題儲存格)。 
      ColumnHeader     資料行寬度會調整,以適合資料行行首儲存格的內容。 
      DisplayedCells     資料行寬度會調整,以適合資料行中的所有儲存格的內容 (位在目前顯示在螢幕上的資料列中),包括標題儲存格。 
      DisplayedCellsExceptHeader     資料行寬度會調整,以適合資料行中的所有儲存格的內容 (位在目前顯示在螢幕上的資料列中),不包括標題儲存格。 
      Fill     資料行寬度會調整,使得所有資料行的寬度可以剛好填滿控制項的顯示區,且必須要使用水平捲動方式,才能讓資料行寬度維持在DataGridViewColumn.MinimumWidth  屬性值之上。相對的資料行寬度是由相對的  DataGridViewColumn.FillWeight 屬性值所決定。
      None     資料行寬度不會自動調整。
      NotSet     資料行的調整大小行為是繼承自 DataGridView.AutoSizeColumnsMode 屬性。


5、得到DataGridView 當前行的位置

            //dgvEtList是DataGridView控件
            //得到DataGridView 當前行的位置
            dgvEtList.CurrentRow.Index



6. DataGridView.DataSource 更新

dataGridView1.DataSource = null;
   
dataGridView1.DataSource = itemStates;
   
System.Threading.Thread.Sleep(500);

7.自動編號

配合設置 AllowUserToAddRows=False,不然會多一行空白行

  private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {

            Rectangle rectangle = new Rectangle(e.RowBounds.Location.X,
               e.RowBounds.Location.Y,
               dataGridView1.RowHeadersWidth - 4,
               e.RowBounds.Height);
            TextRenderer.DrawText(e.Graphics,
                  (e.RowIndex + 1).ToString(),
                   dataGridView1.RowHeadersDefaultCellStyle.Font,
                   rectangle,
                   dataGridView1.RowHeadersDefaultCellStyle.ForeColor,
                   TextFormatFlags.VerticalCenter | TextFormatFlags.Right);

        }

沒有留言:

張貼留言