有个dataTable如下结构我想在dataGridView中显示出
  序号 用户名 注册时间 用户权限
但是我的程序显示的是这个效果这个dataGridView是这样做的,
 this.dgvUserMana.DataSource = dt;
然后在可视窗口中添加列,绑定列,
序号是这样产生的private void dgvUserMana_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            foreach (DataGridViewRow row in dgvUserMana.Rows)
            {
                row.Cells[0].Value = row.Index + 1;              
            }        }有几个地方就不明白了,像id,psword这些我不想显示的怎么显示出来了?另外数据行怎么会多一行,图片中选中单元格还是6,我查过,数据库中并没有这条记录。我学C#都是摸索着前进,希望各位高手赐教。

解决方案 »

  1.   

    没办法,后来我用datagridview.column[4].visible=false 来实现
      

  2.   

    你不要手工创建列,只需要在绑定数据源后,设置每一列显示的名称,例如:dataGridView1.Columns[0].HeaderText = "序号 ";
    dataGridView1.Columns[1].HeaderText = "用户名 ";
    dataGridView1.Columns[2].HeaderText = "注册时间";
    dataGridView1.Columns[3].HeaderText = "用户权限";
      

  3.   

    如果出现敏感数据是用
     foreach (DataGridViewRow row in dgvUserMana.Rows)
                {
                    row.pssword="*";            
                }
    在你设置DataGridView,在columns里添加数据时,将添加到columns中的值的有个属性visible的值为false