将自动编号列添加到列表视图 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());
这将确保列表中的任何新添加都将获得下一个数字,因此它总是在增加。
我有一个 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());
这将确保列表中的任何新添加都将获得下一个数字,因此它总是在增加。