как манипулировать списком выбранных значений в флажке - C # - PullRequest
0 голосов
/ 03 сентября 2018

Я настроил следующий метод для множественного выбора от пользователя и сохранил его в формате CSV в базе данных.

<div class="col-md-10" style="padding-top: 7px;">
    <asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField="language" DataValueField="language" AutoPostBack="True" RepeatLayout="OrderedList" Width="432px">
    <asp:ListItem Value="Saturday">Saturday</asp:ListItem>
    <asp:ListItem Value="Sunday">Sunday</asp:ListItem>
    <asp:ListItem Value="Monday">Monday</asp:ListItem>
    <asp:ListItem Value="Tuesday">Tuesday</asp:ListItem>
    <asp:ListItem Value="Wednesday">Wednesday</asp:ListItem>
    <asp:ListItem Value="Thursday">Thursday</asp:ListItem>
    </asp:CheckBoxList>
</div>

private string CheckBoxListDataToCSV() 
{            
    string selectedItems = String.Join(",",
    CheckBoxList1.Items.OfType<ListItem>().Where(r => r.Selected)
        Select(r => r.Text));
    return selectedItems;
}

string str = CheckBoxListDataToCSV(); //This method to Add in datarow

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

1 Ответ

0 голосов
/ 04 сентября 2018

возвращаем набор данных, содержащий CSV, затем

DataTable dt = dsPage.Tables[0];
            string strArr = dt.Rows[0]["Training_Days"].ToString();
            string[] Arr = strArr.Split(',');

            for (int j = 0; j < Arr.Length; j++)
            {
                for (int i = 0; i < Arr.Length; i++)
                {
                    if (CheckBoxList1.Items.FindByText(Arr[i]) != null)
                    {
                        CheckBoxList1.Items.FindByText(Arr[i]).Selected = true;
                        continue;
                    }
                }
            }
...