如何读取多列ListView控件的列名?

2024-03-10

查找 ListView 列名称的最佳方法是什么?

我使用在该论坛上找到的过程将 DataTable 转换为列表,但我无法将 Id 列放在第一位,特别是因为并非所有 DataTable 都有“Id”列。

我可以在集合 listView.Columns.ToString() 中搜索,但我看到的格式是:

“列标题:文本:ID”

我必须解析它才能找到正确的名称“Id”。 这看起来不太像C#的精神。

我也尝试过:listView.SelectedItems[0].SubItems["Id"]但这不能编译。


好的,这是完整的代码。 确切的问题是,用户在 listView 中选择带有 Courier Names 和 Ids 的行,但也可能按此顺序选择 Ids 和 Names。查找所选快递员 ID 的最快方法是:

ListViewItem si = listCouriers.SelectedItems[0];
CourierId = si.SubItems["Id"].Text;

但这不起作用。硬编码的方式是这样的,但我不能保证有一天会使用错误的列:

ListViewItem si = listCouriers.SelectedItems[0];
CourierId = si.SubItems[1].Text;

使用 @HuorSwords 方法会导致这个不那么简单的解决方案,它对我有用,但取决于合理的假设,即列中的顺序ColumnHeaderCollection对应表单上的显示:

ListViewItem si = listCouriers.SelectedItems[0];
string CourierId = null;
int icol = 0;
foreach (ColumnHeader header in listCouriers.Columns)
{
    if (header.Text == "Id")
    {
        CourierId = si.SubItems[icol].Text;
        break;
    }
    icol++;
}

As listView.Columns属于类型ListView.ColumnHeaderCollection,那么它包含ColumnHeader对象。

The ColumnHeader.Text包含列标题,因此您可以使用以下命令检查具体列:

foreach (ColumnHeader header in listView.Columns)
{
      if (header.Text == "Id")
      {
           // Do something...
      }
}

我不知道是否是最好的方法,但您不需要解析结果来查找“Id”值......

UPDATE

另外,您是否尝试过用String索引器? >listView.Columns["Id"]

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

如何读取多列ListView控件的列名? 的相关文章

  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • getline 之后返回到文件开头

    所以我已经从文件中读取了所有行 while getline ifile line logic 其中 ifile 是 ifstream line 是字符串 我的问题是我现在想再次使用 getline 并且似乎无法返回到文件的开头 因为运行 c
  • C# 异步任务比同步慢

    你知道为什么同步斐波那契方法比异步 等待更快并且比异步任务更快吗 我在每个项目方法上都使用了异步 所以主要是这是一个非常糟糕的方法 Code static int FibonacciSync int number if number 0 r
  • 对 ExecuteNonQuery() 的单次调用是原子的

    对 ExecuteNonQuery 的单次调用是否是原子的 或者如果单个 DbCommand 中有多个 sql 语句 那么使用事务是否有意义 请参阅我的示例以进行说明 using var ts new TransactionScope us
  • QSpinBox 输入 NaN 作为有效值

    我正在尝试扩展 QSpinBox 以能够输入 NaN 或 nan 作为有效值 根据文档 我应该使用 textFromValue valueFromText 和 validate 函数来完成此操作 但我无法让它工作 因为它仍然不允许我输入除数
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 模板与非模板类,跨编译器的不同行为

    我在一些应用程序中使用编译时计数器 它确实很有用 昨天我想用 gcc 编译一个程序 我之前使用的是 msvc 并且计数器的行为在模板类中发生了变化 它在模板类中不再工作 过于简化的代码 Maximum value the counter c
  • 检查两个函数或成员函数指针的签名是否相等

    我编写了一些代码来检查自由函数的签名是否等于成员函数的签名等 它比较提取的返回类型和函数参数 include
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • 冒号在c中起什么作用?

    我在课堂上得到了这个例子 但我不确定它的作用 我知道冒号添加了一个位字段 但我仍然不确定这个问题 a b gt 0 3 1 运算符称为条件运算符 If b值为 gt 0 价值3被分配给a否则值1被分配给a 以 Kernighan Ritch
  • 从具有相同属性的另一个对象创建对象

    我有一个 C 对象 可以说有 20 个属性 它是数据契约的一部分 我还有另一个具有类似属性的业务实体 我想从响应对象中填充该实体 除了将一个对象的每个属性分配给另一个对象的相应属性之外 还有其他方法可以做到这一点吗 是的 看看自动映射器 h
  • 如何释放字符串未使用的容量

    我正在程序中处理很多字符串 这些字符串数据在读入我的程序后的整个生命周期内都不会改变 但由于 C 字符串保留了容量 因此浪费了大量肯定不会被使用的空间 我尝试释放这些空间 但没有成功 以下是我尝试过的简单代码 string temp 123
  • 'iter' 的名称查找已更改为新的 ISO 'for' 范围

    我正在尝试编译下面的两个文件 但从编译器收到错误消息 gcc 4 3 3 Linux 错误位于带有以下符号的行 LINE WITH ERROR 我做错了什么 我该怎么改变 路易斯 g c b h b cpp b cpp In functio
  • 如何重用具有稍微不同的 ProcessStartInfo 实例的 Process 实例?

    我有以下开始的代码robocopy https technet microsoft com en us library cc733145 aspx as a Process 我还需要进行数据库查询以确定每次需要复制哪些目录robocopy被
  • 基础设施 - 同步和异步接口和实现? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在实现库 基础设施时 并且该 API 的用户希望同步和异步使用代码 我读到混合同步和异步并不是一个好主意 例如 同步实现包括等待异步实现 显然
  • 如何在控制台程序中获取鼠标位置?

    如何在 Windows 控制台程序中用 C 获取鼠标单击位置 点击时返回鼠标位置的变量 我想用简单的文本命令绘制一个菜单 这样当有人点击时 游戏就会注册它并知道位置 我知道如何做我需要做的一切 除了单击时获取鼠标位置 您需要使用 Conso
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • 检查一个数是否是完全平方数?

    我认为以下代码存在精度问题 bool isPerfectSquare long long n long long squareRootN long long sqrt n 0 5 return squareRootN squareRootN
  • 在 LP2844Z(Zebra 打印机)上的收据中包含 PNG [重复]

    这个问题在这里已经有答案了 我正在致力于创建一个基于 HTML5 画布的签名 绘图框 目前我们在服务器上将画布保存为PNG 但可以轻松地将base64字符串保存在数据库中 现在的问题是我们如何在打印的收据上添加签名 目前我们使用 GF 字段

随机推荐

  • 关闭申请

    关闭 C 应用程序时的最佳实践是什么 我读到您可以使用 Environment Exit 0 or Application Exit 但有什么区别呢 此外 关于Environment Exit 0 我以前在使用Java时使用过退出代码 但从
  • Javascript - 在另一个数组中插入一个数组

    将一个数组插入另一个数组的更有效方法是什么 a1 1 2 3 4 5 a2 21 22 newArray a1 insertAt 2 a2 gt 1 2 21 22 3 4 5 如果 a2 数组很大 从性能角度来看 使用 splice 迭代
  • 有没有办法触发Maven Appengine Devserver自动刷新静态文件?

    最新版本的maven插件已经实现了每5秒更新一次代码 这是一个很大的进步 但除非我配置错误 否则它似乎不会获取静态文件更改 例如连接到 appengine 代码的正在进行的 Javascript 有什么方法可以改变这种行为 还是我只需要等待
  • 添加 VirtualHost 失败:访问禁止错误 403 (XAMPP) (Windows 7)

    我已经在 Windows 7 上运行了 XAMPP 安装 一旦我将 VirtualHost 添加到 httpd vhosts conf 两者都是 常规 http localhost和新的dropbox local不工作 这是我添加到我的ht
  • 在 DAX 中进行测量以计算仅适用于 Power BI 的选定月份的年初至今

    如何构建 DAX 度量来计算特定月份的 YTD 值总和 这里我们有按月份分组的事实表 FactTable 填充了实际数据和预测数据 了解实际结束时间的唯一方法是 截止日期 列 年初至今 中的信息 在表 截止日期 列 YTD 结束 中 这是一
  • 如何使用 Apps 脚本使用预设选项填充 HTML 表列之一?

    我试图让这个表显示每个表行的选项 但我不太明白 我想我会把它设置在第二个for loop 但我是新手html并且无法前进
  • 在 ggplot2 中对 x 轴日期值进行排序

    我有以下数据集 正如你所看到的 我有两周的一些定量数据 我想对它们的日子进行比较 即 星期一 09 和星期一 10 week date day n chr date chr int 1 Week 09 2016 02 29 Monday 5
  • 如何在matlab中隐藏轴和刻度而不隐藏其他所有内容

    我在 matlab UI 中将图像绘制到轴上 但我不希望轴和刻度线可见 如何防止这种情况发生 以及在哪里进行此调用 我这样做 imagesc myImage parent handles axesInGuide axis off 这是你想要
  • 如何在 Sinatra 代码中发出 POST 请求?

    单击表单中的按钮将发送一个 POST 请求 由以下代码段处理 post register do send post request to http www randomsite com parse response do something
  • JS async/await - 为什么await需要异步?

    为什么使用await需要声明其外部函数async 例如 为什么这个 mongoose 语句需要它所在的函数来返回一个承诺 async function middleware hostname done try let team await
  • MPMediaItem 未使用 MPMediaItemPropertyAssetURL 在 AVAudioPlayer 中播放

    我有这段代码 用于查找并播放 MPMediaItem MPMediaPropertyPredicate predicate MPMediaPropertyPredicate predicateWithValue self persisten
  • 注册自定义单元格时不调用prepareForSegue

    这不是 Segue 标识符拼写错误或类似问题 方法prepareForSegue当我点击表视图控制器中的单元格时 实际上并没有被调用 如果我点击单元格 则仅当我添加新单元格时 控制语句之前的日志语句才不会记录 void prepareFor
  • 1/252 = 0 在 C# 中?

    我正在做计算 在调试时我发现了这个 double num 1 252 当我调试它时 数字设置为零 0 是否有一个原因 我想将其作为实际计算 Thanks 是 该计算正在执行integer算术 尝试这个 double num 1 0 252
  • JavaScript Chrome 扩展 - 从弹出窗口到内容创建新选项卡后发送消息

    在我的扩展的 popup js 中 我想创建一个新选项卡并发送一条消息 content js 必须监听消息并回答 但它不起作用 我尝试了很多在其他问题中找到的解决方案 但没有成功 这是我的文件 Manifest json name Stam
  • 嵌入导航控制器

    我刚刚将 Xcode 从 4 2 更新到 4 3 3 但我不断遇到问题 是否可以在单视图应用程序中添加导航控制器 因为当我尝试将导航控制器嵌入到控制器中时 什么也没有发生 我希望有两个视图控制器通过按钮连接到第二个控制器 并通过导航栏连接到
  • 在 javafx 2 中通过拖动来移动节点的正确方法?

    我正在将具有大量自定义绘画的 Swing Graphics2D 应用程序转换为 JavaFX2 应用程序 虽然我非常喜欢新的 API 但在绘制椭圆时 我似乎遇到了性能问题 我想在鼠标移动到鼠标光标下方时绘制椭圆 当我以稳定的方式 不是快得离
  • 带标头的节点获取 API GET

    https www npmjs com package node fetch https www npmjs com package node fetch节点 v6 4 0 npm v3 10 3 我想在此 API 调用中发送带有自定义标头
  • 如何将 PCL 转换为 .Net 标准库

    所以我有一个 PCL 项目 但现在想更新它以支持 Net Standard 我读过微软网站步骤 https learn microsoft com en us dotnet core porting libraries converting
  • C# 将字节转换为字符串并写入txt文件

    例如我该如何转换byte b new byte 1 b 1 255串起来 我需要一个值为 255 的字符串变量string text 255 然后将其存储在文本文件中 从字节开始 byte b new byte 255 string s E
  • 如何读取多列ListView控件的列名?

    查找 ListView 列名称的最佳方法是什么 我使用在该论坛上找到的过程将 DataTable 转换为列表 但我无法将 Id 列放在第一位 特别是因为并非所有 DataTable 都有 Id 列 我可以在集合 listView Colum