选择数据表的某些列

Jim*_*rad 19 c# datatable

我有一个数据表,想知道我是否可以选择某些列并在表格上输入数据.列列出如下

| col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 | col9 | col10 | col11 |

我想选择列col1,col2 col6,col7,col3.并在数据表中的行的网格视图中显示数据..当前我正在使用的代码在下面并且onmly选择某些数据.我不是从sql中选择数据,而是从另一个存储在数据表中的excel中选择数据..但是我也需要另一个区域中的其他列...这个数据被写入一个表中的单词

 for (int i = 1; i < table.Rows.Count; i++)
            {
                for (int j = 0; j < table.Columns.Count; j++)
                {
                    if (j == 0)
                    {
                        val = filteredData.Rows[row][col].ToString();
                    }
                    else
                    {
                        val = filteredData.Rows[row][col].ToString();

                        if (val == "-" || val == "")
                        {
                            val = filteredData.Rows[row][col].ToString();

                        }
                        else
                        {
                            val = Convert.ToString(Math.Round(Convert.ToDouble(filteredData.Rows[row][col]), MidpointRounding.AwayFromZero));

                        }
                    }

                    table[j, i].TextFrame.Text = val;
                    col++;
                }
Run Code Online (Sandbox Code Playgroud)

Ram*_*san 41

我们也可以这样试试,

 string[] selectedColumns = new[] { "Column1","Column2"};

 DataTable dt= new DataView(fromDataTable).ToTable(false, selectedColumns);
Run Code Online (Sandbox Code Playgroud)

  • 这是简洁的,正是我已经设计为具有 selectedCol 字符串数组的 MVC 控制器所需要的 (2认同)

MrF*_*Fox 27

首先将表存储在视图中,然后从该视图中选择列到新表中.

System.Data.DataTable table = new System.Data.DataTable();
for (int i = 1; i <= 11; i++)
    table.Columns.Add("col" + i.ToString());

for (int i = 0; i < 100; i++)
{
    System.Data.DataRow row = table.NewRow();
    for (int j = 0; j < 11; j++)
        row[j] = i.ToString() + ", " + j.ToString();
    table.Rows.Add(row);
}

System.Data.DataView view = new System.Data.DataView(table);
System.Data.DataTable selected = view.ToTable("Selected", false, "col1", "col2", "col6", "col7", "col3");
Run Code Online (Sandbox Code Playgroud)

使用示例数据来测试我发现的这个方法: 创建仅显示选定列的ADO.NET DataView