想要让 DataGridview 的外观跟迅雷下载里的表格一样,无论有多少条数据,表格线都会充满整个控件,而不是有几条数据,就显示几行表格线,请问各位大虾怎么实现

解决方案 »

  1.   

    this.dataGridView1.Rows.Add(20);以上就是添加20个空格。
      

  2.   

    好像都没有这样的。如果需要表格,那就要用listView那就可以,当然这个绑定数据这些就没有dataSet方便和好用了。
      

  3.   

    用LISTVIEW把外观的View设置成Details
      

  4.   

    重寫PaintBackground方法,重自已繪制格線
    以下代碼供參考:     public class myGrid:DataGridView 
        {
             private Pen gridPen;         public myGrid()
                 : base()
             {
                 gridPen = new Pen(base.GridColor);
                 this.RowHeadersVisible = false;
                 this.BackgroundColor = this.DefaultCellStyle.BackColor;
                 this.ColumnHeadersHeight = base.RowTemplate.Height;             
             }         protected override void OnGridColorChanged(EventArgs e)
             {
                    base.OnGridColorChanged(e);
                    gridPen = new Pen(base.GridColor);
             }         protected override void PaintBackground(Graphics graphics, Rectangle clipBounds, Rectangle gridBounds)
             {
                 base.PaintBackground(graphics, clipBounds, gridBounds);
                 int rowH = base.RowTemplate.Height;
                 int rowcnt = base.DisplayRectangle.Height / rowH;             for (int i = 0; i < rowcnt; i++)
                 {
                     graphics.DrawLine(gridPen, new Point(0, i * rowH), new Point(gridBounds.Width, i * rowH));
                 }             int pos = 1;
                 foreach (DataGridViewColumn col in base.Columns)
                 {
                     pos += col.Width;
                     graphics.DrawLine(gridPen, new Point(pos, 0), new Point(pos, gridBounds.Height));
                 }
             }
        }