Могу ли я установить флажки по идентификатору? - PullRequest
0 голосов
/ 16 мая 2018

Я бы хотел установить флажки не по имени дизайна, а по параметрам.Более конкретно, я хотел бы установить флажки, параметры которых также содержатся в данных, извлеченных из базы данных.

Пример кода:

(checkBox) C1.checked = true;

Таким образом можно установить флажокпрямо сейчас,

но я хочу сделать что-то вроде ...

string[] datas = db.getData();
foreach (string data in datas) 
{
    if (data.Equals("C1")) 
    {
        C1.checked = true;
    }
}

Конечно, я могу сделать это для каждого флажка, но есть более 50 флажков, и я думаю, что это глупопроверяя это вручную, но я не смог найти способ выбрать конкретный флажок на основе имени.

Также было бы очень полезно, если бы кто-то знал способ группировки текстовых полей, чтобы мне не приходилось каждый раз перебирать все флажки.Под этим я подразумеваю что-то вроде метода внутри группы флажков, чтобы найти конкретный.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Похоже, ваша главная цель - найти:

способ сгруппировать текстовые поля, чтобы мне не приходилось зацикливаться на каждом флажки каждый раз.

Вы можете создать словарь строк / флажок и установить флажок таким образом.

Что-то как :

string key = "C1";
Dictionary<string, CheckBox> pairs = new Dictionary<string, CheckBox>();
pairs[key].Checked = true;
0 голосов
/ 16 мая 2018

Вы можете сделать, как показано ниже, используя FindControl:

string[] datas = db.getData();
foreach (string data in datas) 
{
    CheckBox chk = this.Controls.Find(data, true).FirstOrDefault() as CheckBox;
   if(chk !=null)
       chk.Checked = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...