从DataTable中提取特定列

PJW*_*PJW 3 c# sql winforms

我的C#应用​​程序中有一些代码从SQL数据库中提取数据.

DataTable在我的应用程序中的各个地方使用,并以多个显示DataGridViews.

但是,我想只显示其中的一些列,而Datatable不是全部列.

我想要显示的列在每个列中都是不同的DataGridViews.

例如

  • 在DataGridView1中显示第1-3列
  • 在DataGridView2中显示4-6列
  • 在DataGridView3中显示第7-12列

等等

我当然可以编写不同的代码来从SQL中为每个提取所需的字段DataGridViews,但这似乎不是一个非常简洁的解决方案.

如果我可以使用DataTable从SQL中提取的那个,并在应用程序中对其应用多个过滤器以在每个中显示不同的列,那会更好(我认为)DataGridViews.

我看着使用DataView但虽然这有一个Sort方法,它似乎没有一个Filter方法

例如

DataTable table = GetDateFromSql();
DataView view = new DataView(table);
view.Sort = "FieldName";
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望能够做一些像 -

view.Filter = "SELECT cola, colB, colC";
myDataGridView.DataSource = view;
Run Code Online (Sandbox Code Playgroud)

我知道有一种RowFilter方法,但实际上,它是我要过滤的列.

如何才能做到这一点?

Dr.*_*len 9

你可以这样做:

类似问题: 仅显示数据视图中的选定列

DataView view = new DataView(table);
DataTable table2 = view.ToTable(false, "FirstColumn", "SecondColumn", "ThirdColumn");
Run Code Online (Sandbox Code Playgroud)