1.如何使它的默认索引关掉?(不用去设置每个列的sortmode)
2.如何给列头加上自己的图标?它默认的是灰色(索引时)。
3.如何判断鼠标点击的是哪个列头?
4.如何显示行号?
5.索引后行号会发生变化吗?

解决方案 »

  1.   

    第三个问题:
    比如点击一列获取该行的某个属性
    比如ID
    int id;
    id = Convert.ToInt32(dgv.Rows[dgv.CurrentCell.RowIndex].cells["TypeID"].Value.ToString());
      

  2.   

    第一个问题:关掉默认索引
    在DataGridView的RowPostPaint事件中添加以下代码:DataGridView DGV = sender as DataGridView;
    for (int i = 0; i < DGV.Columns.Count; i++)
    {
        DGV.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
    }--------------------------------------------------------------------第三个问题:如何判断单击的是哪一个列头
    在DataGridView的ColumnHeaderMouseClick事件中添加以下代码:
    DataGridView DGV = sender as DataGridView;
    int i = e.ColumnIndex;
    string column_name = DGV.Columns[i].Name;
    MessageBox.Show(column_name)显示列名--------------------------------------------------------------------第四个问题:显示行号
    在DataGridView的RowPostPaint事件中添加以下代码:
    DataGridView DGV = sender as DataGridView;
    Rectangle rec = new Rectangle(e.RowBounds.Location.X, 
                                  e.RowBounds.Location.Y,
                                  DGV.RowHeadersWidth - 4,
                                  e.RowBounds.Height);
    TextRender.DrawText(e.Graphics, 
                       (e.RowIndex+1).ToString(),
                        DGV.RowHeadersDefaultCellStyle.Font,
                        rec,
                        DGV.RowHeadersDefaultCellStyle.ForeColor,
                        TextFormatFlags.VerticalCenter|TextFormatFlags.Right);第五个问题:索引后行号不会发生变化。
      

  3.   

    王锦,你好!
    有一个datagridview绑定一个table,用户先对datagridview进行排序,然后对table增加了一条记录,
    想让dtagridview显示这条新增的记录,代码如何写?
      

  4.   

    要在DataTable中增加一条记录显示在DataGridView,如果两者已经绑定,增加完后就会显示,如下:假设你说的DataTable名称为table1DataRow dr = table1.NewRow();
    dr.BeginEdit();
    dr["字段名1"] = value1;
    dr["字段名2"] = value2;
    dr["字段名3"] = value3;
    ......
    dr.EndEdit();
    table1.Rows.Add(dr);
    table1.AcceptChanges();这样应该就可以,DataGridView就会显示刚刚添加的新行。
      

  5.   

    王锦,你好!
    我使用BindingManagerBase bmb;与DataTable连接
    bmb.Position = bmb.Count - 1;用这一行移动记录;在没有排序时,可以,问题是点击‘编号’排序后再增加,就不会在当前的datagridview里显示刚增加上的记录? 
      

  6.   

    2.如何给列头加上自己的图标?它默认的是灰色(索引时)。 --------------------
    表头样式
    你可以在里面用样式啊!
    控件属性 Columns找到你的字段
    在HeaderStyle里面有个CssClass
    你可以自己写你想要的样式哦
      

  7.   


    这个属性,在winforms - DataGridView - Columns里没有找到,
    初学C#,能麻烦你说具体一下?
      

  8.   

    看看这篇文章,对你是否有帮助
    http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx