DataTable «dtTypeId» в следующем коде возвращает 2 столбца Имена типов и идентификаторы как: -
TypeId TypeName
1 Type1
2 Type2
3 Type3
Проблема заключается в том, что в поле со списком есть только 2 элемента, которые отмечены галочкой, т.е.«Тип1» и «Тип2», но в тексте Radcombobox он отображает текст
как: -
Тип1, Тип1, Тип1, Тип1, Тип2, Тип2, Тип2, Тип2.Я хочу, чтобы текст поля со списком был Type1, Type2 (только те, которые отмечены галочкой).Почему эти повторяющиеся значения?
Что не так с логикой ниже?пожалуйста помогите .. спасибо ..
foreach (RadComboBoxItem item1 in radComboBoxTypes.Items)
{
Label lblTypeId = item1.FindControl("lblTypeId") as Label;
CheckBox chkType = item1.FindControl("chkType") as CheckBox;
Label lblTypeNames = item1.FindControl("lblTypeNames") as Label;
bllMyClass objMyClass = new bllMyClass();
objMyClass.TextID = int.Parse(lblTextID.Text);
DataTable dtTypeId = new DataTable();
dtTypeId = objMyClass.GetTypesByTextID();
if (dtTypeId.Rows.Count > 0)
{
foreach (RadComboBoxItem item2 in radComboBoxTypes.Items)
{
for (int i = 0; i < dtTypeId.Rows.Count; i++)
{
if (lblTypeId.Text == dtTypeId.Rows[i]["TypeId"].ToString())
{
chkType.Checked = true;
checkedTextType += lblTypeNames.Text + ", ";
}
}
if (chkType.Checked == true)
{
checkedTextType += lblTypeNames.Text + ", ";
}
radComboBoxTypes.Text = checkedTextType;
}
}
}
@ Болу: Я следовал вашему подходу, но он не работает правильно. Сейчас он отображает текст в выпадающем списке как type1type1, type1type1, type1type1,, type1type1,, type2type2,, type2type2,, type2type2,, type2type2,
@ bOLU
, что выдает ошибку в этой строке ... checkedTextType + = checkedTextType == string.Empty?lblTypeNames.Text : "," + lblTypeNames.Text;там написано "Неожиданный персонаж": 1018 *