我有一个从SQL紧凑型CE数据库中获取数据的ListView。我已经在数据库中有一个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
答案 0 :(得分:2)
你可以这样做:
ListViewItem item = listView.Items.Add((listView.Items.Count + 1).ToString());
然而,这里的问题是,如果你添加/删除,你可能会得到重复的数字,如果你一次性这样做,永远不要重复,它不是一个问题。
为了避免这种情况,您可能需要某种类全局计数器,然后执行:
int counter = 0;
ListViewItem item = listView.Items.Add((++counter).ToString());
这样可以确保列表中的任何新增内容都能获得下一个数字,因此它总是会增加。