Для привязки CheckBoxList требуется вторая коллекция, чтобы определить статус проверки - PullRequest
1 голос
/ 11 октября 2010

У меня есть ситуация, когда мне нужно привязать массив строк к CheckBoxList.Решение о том, следует ли проверять каждый элемент или нет, следует принимать с использованием другого массива строк.Вот пример кода:

string[] supportedTransports = ... ;// "sms,tcp,http,direct"
string[] transports = ... ; // subset of the above, i.e. "sms,http"
// bind supportedTransports to the CheckBoxList
TransportsCheckBoxList.DataSource = supportedTransports;
TransportsCheckBoxList.DataBind();

Это хорошо связывает, но каждый элемент не проверяется.Мне нужно как-то запросить transports, чтобы определить проверенный статус.Мне интересно, есть ли простой способ сделать это с CheckBoxList или мне нужно создать какой-нибудь адаптер и привязать к нему?

Заранее спасибо!

1 Ответ

4 голосов
/ 11 октября 2010

Для этого вы можете использовать LINQ:

        string[] supportedTransports = { "sms", "tcp", "http", "direct" };
        string[] transports = { "sms", "http" }; 

        CheckBoxList1.DataSource = supportedTransports;
        CheckBoxList1.DataBind();

        foreach (ListItem item in CheckBoxList1.Items)
        {
            if (transports.Contains(item.Text))
            {
                item.Selected = true;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...