按 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 进行排序 的相关文章

  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 为什么调用 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