按 Column.DisplayMember 对 DataGridView 进行排序

2023-12-07

我有一个DataGridView有几个DataGridViewComboBoxColumn实际值与 ID 相关联,但DisplayMember是查找表中的字符串对应项。我试图做到这一点,以便当我按该列排序时,排序是根据DisplayMember,不是ValueMember。我知道这个问题已在这个问题但答案不够深入,我也不明白。

到目前为止我尝试过的

  • 绑定到SortCompare事件,但发现它没有在数据绑定列上触发。
  • 手动排序ColumnHeaderMouseClick事件,但行在DataGridViewRowCollection是只读的,我无法以编程方式在数据绑定集合上插入行(交换时)。
  • 创建一个隐藏的DataGridViewTextBoxColumn其中单元格自动设置为DisplayMember原始列,然后尝试对该列进行排序。但是,数据绑定集合无法基于无界列进行排序。

Edit:进一步澄清:我正在尝试对整个DataGridView基于DisplayMember的组合框,而不是对组合框本身进行排序。

我怎样才能排序DataGridView基于DisplayMember数据绑定的DataGridViewComboBoxColumn?


您的第三次尝试几乎是正确的:您需要做的是在 DataSet 中创建一个额外的列来存储 DisplayMember 的值。然后,创建一个不可见的绑定 DataGridViewColumn,并将其绑定到这个额外的 DataSet 列。然后它是一个绑定列,而你can以编程方式对其进行排序。

您链接到的问题也是这样做的,只是该解决方案是在 SQL 中生成显示成员文本,然后再将其返回到应用程序。

您会认为这很简单,不是吗? :)

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

按 Column.DisplayMember 对 DataGridView 进行排序 的相关文章

  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 为什么调用 Entry.get() 会给出“无效的命令名称”?

    这是我的代码 def ask what why root Tk root title why label Label root text what label pack entry Entry root entry pack button
  • 将参数存储到带有空格的变量中

    考虑以下带有输出的命令 du sm Documents 458 home utilisateur Documents du sm Documents exclude aa bb exclude cc dd 153 home utilisat
  • {React Native} Async\Await 无法与 setState 正常工作

    有人可以帮助我理解我没有做正确的事情吗 考虑这个简单的代码 var images const funImage setFunImage useState Some function that does this below firebase
  • jBoss 4.0.2 多次部署相同的 WAR 会导致 jBoss 由于 PermGem/Out-of-Memory 错误而崩溃

    我开发 Web 应用程序并使用 jBoss 4 0 2 当我使用 eclipse 多次重新部署 WAR 时 jBoss 将崩溃 因为它耗尽了内存 当我必须将新版本安装到生产环境时 它将消耗生产服务器内存 这意味着我必须停止 jBoss 以防
  • 在 R 中打开 .bcp 文件

    我一直在尝试将 bcp 文件格式的英国慈善委员会数据转换为 csv 文件格式 然后可以将其读入 R 中 我所指的数据可在此处获取 http data charitycommission gov uk 我想做的是将这些 bcp 文件转换为可用
  • System.TypeAccessException:尝试通过方法“X”访问类型“Y”失败

    好吧 我已经用谷歌搜索了近两天 并且尝试了几乎所有与此错误相关的解决方案 但没有任何效果 大多数问题都是关于 Click once 应用程序 JSON Web 应用程序等的安全设置 但对于普通的旧 winforms 应用程序来说却没有任何问
  • 如何从字符串中删除所有双空格

    我试图从字符串中删除所有双空格 以便只保留单个空格 while doublespace 1 kstring replace doublespace 1 doublespace kstring find first of 它找到第一个双空格
  • 如何将项目数组移动/旋转到 JavaScript 数组中的特定索引?

    我有一个 jQuery 元素 图像 集合 var images img 我想更改集合 使其从特定索引开始 并将前面的项目附加到末尾 有点像Rolodex 如果需要的话 我还可以将它们转换为数组 使用 JavaScript 数组的示例 var
  • 使用 ColdFusion 中的列表调用 .NET 方法时未找到方法

    对于某些背景 这与将 IEnumerable 变量从 ColdFusion 传递到 NET 我已将代码更改为使用列表 并取得了进展 但在使用 NET 和 ColdFusion 的简单数据类型以外的任何内容时 仍然遇到障碍 这是当前的问题 首
  • 是否可以从全局或设备函数调用 CUDA CUBLAS 函数

    我正在尝试并行化现有应用程序 我已将大部分应用程序并行化并在 GPU 上运行 但我在将一个函数迁移到 GPU 时遇到问题 该函数使用 blas 库的函数 dtrsv 见下文 void dtrsv call N double B double
  • 在运行时使用 ref 参数创建 C# 委托类型

    我需要创建一个委托类型ref运行时参数 如果我在编译时知道参数类型 我可以使用显式委托类型声明 例如 S is some struct value type e g int or Guid delegate void VoidDelSRef
  • Kendo UI Angular:(SystemJS) 意外标记 <

    我在使用 IIS 的 ASP NET Core 解决方案上使用 VS2015 RC3 Angular2 2 0 0 每当我尝试添加新的 UI 模块 例如下拉列表或输入 时 我都会收到 SystemJS 错误 但奇怪的是我的按钮可以正常工作
  • 使用 VBA 更新 Excel 切片器选择的性能较差

    我正在使用 VBA 模拟单击 Excel 切片器 但遇到了严重的性能问题 用户单击 X 轴上带有日期的柱形图 单击某列时 会在包含日期列表的切片器中选择相应的日期 该列表将随着时间的推移而不断增长 据我所知 为非 OLAP 数据源 我的情况
  • 带圆角的矩形旋转器

    我正在尝试制作加载程序 它看起来像这样 CodePen 但我需要有圆形边框和矩形 而不是盒子 这样我就可以将我们公司的标志放置到装载机上 我尝试再制作一层 这将制作内联半径和包装器 我设置border radius and overflow
  • 将 Datagridview 值更新到数据库中

    我正在开发一个表单应用程序 用户可以从数据库获取表数据 进入可编辑的 gridviewcontrol 以便用户可以更新网格中的一些数据 当用户单击表单上的更新按钮时 更新的数据网格值应该在数据库中更新 用户可以一次更新更多列值 我第一次在数
  • MySQL 错误 1060:重复的列名 ALTER TABLE

    由于我没有创建的代码中的错误 我在查询时遇到了一些问题 query this gt db gt query ALTER TABLE DB PREFIX customer ADD customer type TINYINT 1 NOT NUL
  • Django时区感知DateTimeField默认值时区感知错误

    我正在尝试将 DateTimeField 添加到我的 django 模型中 并以最大时间戳作为默认值 我已经弄清楚 Django 中的最大时间戳是 9999 12 31 23 59 59 与我的 postgres 数据库中使用的最大时间戳不
  • 内存通常比磁盘快多少?

    IDE SCSI SSD SATA 或所有这些 我很惊讶 本文中间的图3 大数据的病理学 表示进行顺序访问时内存仅快 6 倍左右 内存为 350 Mvalues sec 而磁盘为 58 Mvalues sec 但当您进行随机访问时 速度大约
  • std::enable_if 如何工作?

    我刚刚问了这个问题 std numeric limits 作为条件 我明白用法在哪里std enable if将有条件地定义方法的返回类型 导致该方法无法编译 template
  • 按 Column.DisplayMember 对 DataGridView 进行排序

    我有一个DataGridView有几个DataGridViewComboBoxColumn实际值与 ID 相关联 但DisplayMember是查找表中的字符串对应项 我试图做到这一点 以便当我按该列排序时 排序是根据DisplayMemb