【发布时间】:2014-01-03 10:03:43
【问题描述】:
我有一个包含多列的列表视图。数据与 DataView 绑定。第一列是 ID,第二列是名称。
当在我的名为 lstInterrogateur 的列表视图中选择一个项目时,我会得到这样的 ID:
DataRowView CompRow;
string InsertQuery = "INSERT INTO interrogateur_matiere (idinterrogateur_matiere, idMatiere, idInterrogateur) VALUES ";
int SComp, i=1, total;
long idInterrogateur, idMatiere;
SComp = lstInterrogateur.SelectedIndex;
CompRow = lstInterrogateur.Items.GetItemAt(SComp) as DataRowView;
idInterrogateur = Convert.ToInt16(CompRow["idInterrogateur"]);
当我在名为 lstMatiereInterrogateur 的列表视图中选择了多个项目时,我会得到这样的 ID:
total = lstMatiereInterrogateur.SelectedItems.Count;
foreach (var item in lstMatiereInterrogateur.SelectedItems)
{
SComp = lstMatiereInterrogateur.SelectedIndex;
CompRow = lstMatiereInterrogateur.Items.GetItemAt(SComp) as DataRowView;
idMatiere = Convert.ToInt16(CompRow["idMatiere"]);
InsertQuery += "(NULL, '" + idInterrogateur + "', '" + idMatiere + "')";
if (total != i)
InsertQuery += ", ";
i++;
}
}
但是我只得到最后一个 ID。例如,我选择了 2 个项目 ID=3 和 ID=5,我将获得 2 次 ID=5。为什么?
谢谢。
【问题讨论】:
-
检查
SelectionMode属性 -
SelectionMode 设置为 Multiple