现在返回List<>对象的所有列,只选用其中的若干列显示,如何做?

解决方案 »

  1.   

    取消选中DataGridView的“自动生成列”。
      

  2.   


    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  >
                    <Columns>
               <asp:BoundField HeaderText="姓名" SortExpression="EmployeeName" DataField="EmployeeName" />
               <asp:BoundField HeaderText="部门" SortExpression="Department" DataField="Department" />
               <asp:BoundField HeaderText="工作岗位" SortExpression="PositionJob" DataField="PositionJob" />
    </Columns>
               <EmptyDataTemplate>
                    没有查找到相关资料!
                    </EmptyDataTemplate>
                    <EmptyDataRowStyle ForeColor="Red" />
               </asp:GridView>
    楼主,仔细看看上面那个DataField就是你要绑定的字段名!你需要在gridview中显示哪个几列,参考上面的代码!
      

  3.   

    select 语句
    隐藏相关列
    this.datagridview1.AutoGenerateColumns = false;
    DataGridViewTextBoxColumn 
      

  4.   

    [Quote=引用 2 楼 sire168 的回复:]
    我是WinForm程序,不是asp.net
      

  5.   

    有一些变通的方法:
    比如先邦定所有列,然后隐藏指定列,用.hide属性即可
    或者先绑定所有列,然后将指定列宽度设为0,
    再比如绑定后删除某些列,以上只需要在msdn中查看column的属性或方法即可
      

  6.   

      this.dataGridView1.AutoGenerateColumns = false;
      

  7.   

    ........上面说的 很清楚了
    自己看下 MSDN吧.........
      

  8.   

    谢谢各位了,再次声明是winform不是asp.net。
      

  9.   

    你在DataGridView中是不是已经添加列了?并把相应的Data设置了。如果是只要加 一句话就可以了
    dgvshow.AutoGenerateColumns = false;
      

  10.   

    不过Winform程序也有AutoGenerateColumns 属性,在设计器不能看到,要在后台代码中自己写,而且必须写在绑定数据源之前才生效:
      
    TemplateModelService modelService = new TemplateModelService();
    DataSet ds = modelService.GetList("");
    gridViewModel.AutoGenerateColumns = false;
    gridViewModel.DataSource = ds.Tables[0];