我的C#应用程序中有一些代码从SQL数据库中提取数据。
此DataTable
用于整个应用程序的各个位置,并以多个DataGridViews
显示。
但是,我想只显示Datatable
中的一些列,而不是所有列。
我想要显示的列在每个DataGridViews
中都有所不同。
e.g。
等
我当然可以编写不同的代码来为每个DataGridViews
从SQL中提取必需的字段,但这似乎不是一个非常简洁的解决方案。
如果我可以使用从SQL中提取的那个DataTable
并在应用程序中对其应用多个过滤器以在每个DataGridViews
中显示不同的列,那会更好(我认为)。 / p>
我查看了使用DataView
,但是这有一个Sort
方法,它似乎没有Filter
方法
e.g。
DataTable table = GetDateFromSql();
DataView view = new DataView(table);
view.Sort = "FieldName";
理想情况下,我希望能够做类似的事情 -
view.Filter = "SELECT cola, colB, colC";
myDataGridView.DataSource = view;
我知道有RowFilter
方法,但实际上是我要过滤的列。
如何做到这一点?
答案 0 :(得分:9)
您可以这样做:
类似的问题: Showing only selected column in dataview
DataView view = new DataView(table);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");
答案 1 :(得分:0)
如果您不关心该列中的数据,可以将DataGridViewColumn属性设置为false。在asp.net Web表单中您可以按名称获取列。