我正在创建一个DataTable
来存储我项目的信息,稍后会将信息输入到MS Excel文件中。我想通过DataGridView
控件在WinForms项目中向用户显示一些此类数据,但我不想向用户显示整个DataTable
- 只是必不可少的列。我发现这是一个挑战,因为DataTable
设置为使用多于列的行。
我尝试从一个DataTable复制到另一个DataTable,使用一个存储和一个子集进行显示,但由于列共享引用,我要么不能有多个具有相同名称的列,要么我改变了一个DataTable
中的列随后更改两者。我也尝试使用DataView
创建子集表,但遇到了同样的问题。
有没有一个干净的方法去做? (否则我只是粗略地尝试设置我的列大小,以便在DataGridView中看不到不必要的数据。)
答案 0 :(得分:0)
您需要在设计器视图中添加列(您想要显示)。并将属性AutoGenerateColumns设置为false
答案 1 :(得分:0)
试试这个
隐藏列...
this.DataGridView.Columns[0].Visible = false;
或者您可以将数据从一个数据表过滤到另一个...
string[] colnames = new string[] { "col1", "col2" };
dt2 = dt1.DefaultView.ToTable(false, colnames);
我没有测试任何代码......
您只需填写另一个DataTable,只选择您想要的数据源....