如何更改数据表列顺序

2024-01-11

如何在 C# 中更改数据表列顺序。

Example:

我创建的sql表类型顺序是Qty,Unit,Id,但在程序中DataTable顺序是Id,Qty,Unit。在代码后面,我直接将DataTable传递给sql表类型,因此表顺序不同。

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

请帮忙


尝试使用DataColumn.SetOrdinal http://msdn.microsoft.com/en-us/library/system.data.datacolumn.setordinal.aspx方法。例如:

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

UPDATE:这个答案受到的关注比我预想的要多得多。为了避免混淆并使其更易于使用,我决定为 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++;
        }
    }
}

Usage:

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

or

table.SetColumnsOrder(new string[]{"Qty", "Unit", "Id"});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改数据表列顺序 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 颤振回调函数

    我有一个数量需要在父小部件中更新 按子小部件中的 或 图标时需要更新数量 我将回调函数传递给了子无状态小部件 但它不起作用 相反 我收到一条错误消息 指出在构建期间调用了 setstate 或 markneedsbuild 这是父小部件 c
  • 如何在第一列中应用文本左对齐,在其他列中应用文本右对齐

    我有一张桌子要设计 我该如何申请text align left 仅适用于第一列和text align right 对于其他列 这是我的表示例 http jsfiddle net gianlucaguarini hAv7P http jsfi
  • 在 Javascript 中克隆文件输入元素

    我有一个文件输入元素 需要在用户浏览并选择要上传的文件后进行克隆 我开始使用 obj cloneNode 一切正常 直到我尝试在 IE 中使用它 此后我尝试使用 jQuery 的克隆方法 如下所示 var tmp jQuery catego
  • Multipart._final 中的表单意外结束

    我有多个输入 当所有图像输入字段都填满时 上传工作正常 但如果其中任何一个为空 它会在我的服务器端引发错误 Unexpected end of form at mutipart 这是客户端 const handelSubmit e gt e
  • 如何使用 Unity 依赖注入 Web API 实现策略/外观模式

    如何告诉Unity WebApi依赖注入框架 在正确的控制器中注入正确的类 DI 项目容器 public class UnityContainerConfig private static IUnityContainer unityCont
  • PowerShell 3.0 中 [ordered] 的正确名称是什么?

    在 PowerShell 中 您可以使用方括号指定类型 如下所示 PS C Users zippy gt int IsPublic IsSerial Name BaseType True True Int32 System ValueTyp
  • 如何发送ctrl+z

    How do I convert ctrl z to a string 我将此作为 AT 命令发送到该计算机的连接设备 Basically I just to put some chars in a string and ctrl z in
  • GridView 丢失了对非索引位置中的项目的跟踪,并且许多项目不再显示

    我正在使用 UWP 应用程序FileInformationFactory检索文件对象的虚拟化向量 该向量被转换为FileInformation并显示在GridView 我想查询插入笔记本电脑的 SD 卡上的文件夹并比较该文件夹的虚拟化情况G
  • 恢复到特定提交而不丢失历史记录

    我知道这类问题有很多重复项 但我想打开一个新问题 因为我没有在所有其他问题中找到按照我想要的方式执行此操作的最佳方法的解释 我知道我可以通过执行以下操作来恢复并保留历史记录 git reset soft c14809fa 我想恢复devel
  • Angular2:如何在一段时间后淡出显示在Click上的box-msg

    可能是一个愚蠢的问题 但我是新手angular并且仍在学习 单击按钮时显示一条成功消息 我需要在几秒钟后淡出该消息 div class alert alert success box msg strong Link Generated st
  • 标签文本更新期间 UIImageView 位置重置

    这里发生的问题真的很奇怪 在 iOS 8 中使用 XCode 我有一个简单的 UIImageView 当我单击时它会在屏幕上移动 没问题 效果很好 我只有一个简单的方法来更新特定标签 基于一个名为 StrikesLeft 的 int 这是我
  • 添加到 UIWindow 的 UIView 中的方向

    我有一个 UIView 它应该覆盖整个设备 UIWindow 以支持我正在使用核心动画执行的图像放大 缩小效果 其中用户点击 UITableViewCell 上的按钮 然后我缩放关联的图像 缩放执行完美 我无法弄清楚为什么即使设备处于横向状
  • Ionic Events 替换为 Angular Observables

    我了解 Ionic 事件将在下一个版本中被弃用 目前 我使用事件从子组件执行父页面中的函数 这是一个例子 在我的主页中 它订阅了要刷新的事件 constructor this eventFormRefresh obj gt this fet
  • windows中_chdir和SetCurrentDirectory有什么区别?

    我应该选择其中之一而不是其他有什么区别吗 它们实现相同的结果但属于不同的API 因此它们返回结果和报告错误的方式不同 如果您已经在使用任一 API 中的其他例程 请选择该 API 如果不是 SetCurrentDirectory 更 Win
  • 当游戏对象触发触发器时在 Unity 控制台中打印消息? Unity5/2D

    我正在为学校制作一个 游戏 我需要统计选票 我使用 Unity 让角色跳上按钮来计票并继续下一个问题 这是我到目前为止所拥有的 using UnityEngine using System Collections public class
  • facecolor = 'none'(空圆圈)无法使用seaborn和.map

    我有以下代码 我试图在同一个图上绘制两组数据 标记为空圆圈 我希望在下面的地图函数中包含 facecolor none 来完成此任务 但它似乎不起作用 我能得到的最接近的是在红色和蓝色黑点周围有红色圆圈 x1 np random randn
  • 在 R Shiny 中渲染时如何将表格单元格扩展到多列?

    我有一个值的数据框 我试图将其渲染为 R Shiny 中的表格 我想要扩展某些值以占用多列 就像使用 HTML rowspan 属性一样 但是 如果我要这样做 我必须从头开始创建整个表 并且我更喜欢使用 DT 库来轻松地从我的数据表进行转换
  • 访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量[重复]

    这个问题在这里已经有答案了 考虑以下场景 我的文件 cpp const int myVar 0 全局变量 另一个文件 cpp void myFun std cout lt lt myVar compiler error Undefined
  • EntityFramework 转换问题

    我正在使用 LinqKit 中的 PredicateBuilder 构建查询 它很棒并且正是我想要的 为了使我的代码更具可重用性 表和视图 我创建了一个通用谓词构建器类 public class LocalPredicateBuilder
  • 如何更改数据表列顺序

    如何在 C 中更改数据表列顺序 Example 我创建的sql表类型顺序是Qty Unit Id 但在程序中DataTable顺序是Id Qty Unit 在代码后面 我直接将DataTable传递给sql表类型 因此表顺序不同 DataT