gpt4 book ai didi

c# - 如何使用 ObjectListView 显示包含当前行索引的列?

转载 作者:太空狗 更新时间:2023-10-30 00:53:30 24 4
gpt4 key购买 nike

我有以下类(class):

public class people
{
public string name { get; set; }
public string hobby { get; set; }
}

我想显示这样的列表:

no | name | hobby
-----------------------
01 | kim | tv
02 | kate | pc
03 | kim | tv
04 | kate | pc

我知道实现此目标的唯一方法是将 people class 更改为

public class people
{
public string no{ get; set; }
public string name { get; set; }
public string hobby { get; set; }
}

并循环List<people>设置每个 no属性(property)。

有没有更好的方法来添加索引号列?

最佳答案

是的,您可以通过像这样处理“FormatRow”事件来实现您想要的:

objectListView1.FormatRow += delegate(object sender, FormatRowEventArgs args) {
args.Item.Text = args.RowIndex.ToString();
};

这将在 ObjectListView 的第一列上显示从零开始的索引。如果您希望它显示为 01、02...,您可以指定格式字符串和偏移量,例如:

args.Item.Text = (args.RowIndex + 1).ToString("D2");

附带说明:使用 AspectGetter 不可能实现这一点(这会更优雅),因为在调用它时,该行尚未添加到 OLV,因此没有索引信息。

// !!! won't work !!!
indexColumn.AspectGetter += delegate(object rowObject) {
return objectListView1.IndexOf(rowObject).ToString();
};

关于c# - 如何使用 ObjectListView 显示包含当前行索引的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16163685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com