我现在有一个datatable里存了我要的数据集,现在我想在datagridview1里只显示datatable里的某些列,比如我想显示里面的列:ID ,name,datatime这三列数据,其他的我不要。
  可能有人会建议我再sql里查询时就select id,name,datatime from...但我具体的情况不允许我这样做,所以想问问如何在datatable里选出那三列。

解决方案 »

  1.   

    在datagridview中设置其他列不可见就可以了
      

  2.   

    设置列的Visuable为false,或只在DataGridView里加三个列,然后设置DataGridView的AutoGenerateColumn为False.
      

  3.   

              public void SetGridList(DataTable list)
            {
                dataGridView1.DataSource = list;
                this.dataGridView1.Columns.Clear();            DisplayCol(dataGridView1, "username", "用户名", true);
                DisplayCol(dataGridView1, "point", "可用分", true);
            }        void DisplayCol(DataGridView dgv, String dataPropertyName, String headerText, bool visibl)
            {
                dgv.AutoGenerateColumns = false;
                DataGridViewTextBoxColumn obj = new DataGridViewTextBoxColumn();
                obj.DataPropertyName = dataPropertyName;
                obj.HeaderText = headerText;
                obj.Name = dataPropertyName;
                obj.Visible = visibl;
                obj.Resizable = DataGridViewTriState.True;
                dgv.Columns.AddRange(new DataGridViewColumn[] { obj });
            }
      

  4.   

    有没有正面方法,我显示的列就只有几个,但不显示的列可就多了。我现在是想在那个datatable里选出那些列,放到另外的datatable里(暂定为dt2),然后把dt2绑定到datagridview里
      

  5.   


    或只在DataGridView里加三个列,然后设置DataGridView的AutoGenerateColumn为False.这样你只要加三个列,在DataGridview里。