我正在填充数据表,而数据表又填充了一个复选框列表。我希望在添加项目时选择它们。我可以这样做,但是当我添加第二个 - >第n项,它只保留最后一个复选框。有没有办法通过绑定来保留选中的复选框?这是我目前的职能:
protected void FinalizeAdd_Click(object sender, EventArgs e)
{
VersionDataTable.AddVersionDataTableRow(Convert.ToInt32(VersionDropDown.SelectedValue), ProductDropDown.SelectedItem.Text + " " + VersionDropDown.SelectedItem.Text);
ProductCheckList.DataSource = VersionDataTable;
ProductCheckList.DataValueField = VersionDataTable.VersionIDColumn.ToString();
ProductCheckList.DataTextField = VersionDataTable.VersionTextColumn.ToString();
ProductCheckList.DataBind();
ProductCheckList.Items[ProductCheckList.Items.Count - 1].Selected = true;
}
感谢您的帮助。
答案 0 :(得分:1)
在再次对数据集列表进行数据绑定之前,必须先保存所选项目。
例如(抱歉VB.NET,但我想你明白我的意思):
Dim oldSelection = (From item As ListItem In ProductCheckList.Items
Where item.Selected).ToList
' databinding '
If oldSelection.Any Then
For Each selectedItem In oldSelection
Dim item = ProductCheckList.Items.FindByValue(selectedItem.Value)
If Not item Is Nothing Then
item.Selected = True
End If
Next
End If