如何更改数据表colums订购 [英] How to change DataTable colums order

查看:101
本文介绍了如何更改数据表colums订购的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何更改数据表列奥得在C#。

How to change Datatable columns oder in c#.

例如:

我创建的SQL表类型顺序是数量,单位,ID,但在节目的DataTable顺序编号,数量,单位。在code后面我直接传递数据表到SQL表类型,这样表的顺序是不同的。

am created sql table type order is Qty,Unit,Id but in program DataTable order is Id,Qty,Unit. In code Behind am directly pass DataTable to sql table type so the table order is different.

DataTable columns are :`Id,Qty,Unit.`  i want this to be  :`Qty,Unit,Id` 

请帮忙

推荐答案

尝试使用DataColumn.SetOrdinal方法。例如:

dataTable.Columns["Qty"].SetOrdinal(0);
dataTable.Columns["Unit"].SetOrdinal(1); 

更新:这个答案获得更多的关注比我的预期。为了避免混淆,并使其更容易使用,我决定创建数据表中的列顺序扩展方法:

UPDATE: This answer received much more attention than I expected. To avoid confusion and make it easier to use I decided to create an extension method for column ordering in DataTable:

扩展方法:

public static class DataTableExtensions
{
    public static void SetColumnsOrder(this DataTable table, params String[] columnNames)
    {
        int columnIndex = 0;
        foreach(var columnName in columnNames)
        {
            table.Columns[columnName].SetOrdinal(columnIndex);
            columnIndex++;
        }
    }
}

用法:

table.SetColumnsOrder("Qty", "Unit", "Id");

table.SetColumnsOrder(new string[]{"Qty", "Unit", "Id"});

这篇关于如何更改数据表colums订购的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆