Datagridview 绑定一个表。//下面行句并不能使Datagridview(-1)列完整显示。
dgvData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;this.dgvData.DataSource = Ds.Tables["ssq"];for (int i = 0; i < dgvData.Rows.Count; i++)
{
    dgvData.Rows[i].HeaderCell.Value = i.ToString();
}
问题:如何使Datagridview最左边的列标题能完整的显示数字。

解决方案 »

  1.   

    这种效果?private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
        using (SolidBrush b = new SolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor))
        {
            e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, b, e.RowBounds.Location.X + 20, e.RowBounds.Location.Y + 5);
        }
    }
      

  2.   


    不是的,就是最左边的那一列。
    在行 HeaderCell 中不能完全的显示数字,有什么办法解决。
      

  3.   


    我没试。你的代码没有错误的话,那我多学了一个知识点。
    现在我就是想知道:
    for (int i = 0; i < dgvData.Rows.Count; i++) //
    {
        dgvData.Rows[i].HeaderCell.Value = i.ToString();
    }这样,当Value值位数较大时,如1234时,在HeaderCell中它就显示一个1字,234没有显示出来。我现在想知道对于这个如何编程解决
      

  4.   

    我自己解决了。
    this.dgvData.RowHeadersWidth = 60;