将自动编号列添加到列表视图 table?

Add auto number column to list view table?

我有一个 ListView,它从 SQL 压缩 CE 数据库中获取数据。我已经在数据库中有一个 ID 列,但是 我想在列表视图本身中添加一个自动编号列。

我想用自动编号列替换 ID 列(我不想将编号保存在数据库本身中,我只想对列表视图中的行进行排序) http://i.imgur.com/nenhN2w.jpg

我使用的代码:

ListViewItem item = new ListViewItem(sqldr["ID"].ToString());
                    item.SubItems.Add(sqldr["EnglishWord"].ToString());
                    item.SubItems.Add(sqldr["EnglishDesc"].ToString());
                    item.SubItems.Add(sqldr["ArabicDesc"].ToString());
                    item.SubItems.Add(sqldr["ArabicWord"].ToString());
                    item.SubItems.Add(sqldr["Subject"].ToString());


                    listView1.Items.Add(item);

我正在使用 C# - Windows 应用程序 - WinForms

你可以这样做:

ListViewItem item = listView.Items.Add((listView.Items.Count + 1).ToString());

然而,这里的问题是,如果您 add/remove,您可能会得到重复的数字,如果您一次完成此操作,永远不会重复,那么问题就不大了。

为了避免这种情况,您可能需要某种 class 全局计数器,然后执行:

int counter = 0;

ListViewItem item = listView.Items.Add((++counter).ToString());

这将确保列表中的任何新添加都将获得下一个数字,因此它总是在增加。