я построить демонстрационное приложение, в котором я использовал список флажка, чтобы получить хобби и ввести эти значения в базе данных следующим образом:Как принести список Checkbox вставить значения в базе данных назад к списку CheckBox
аспид код для списка флажок:
<asp:CheckBoxList ID="chkboxlsthobbies" runat="server" RepeatDirection="Horizontal">
<asp:ListItem>cricket</asp:ListItem>
<asp:ListItem>football</asp:ListItem>
<asp:ListItem>pool</asp:ListItem>
<asp:ListItem>basketball</asp:ListItem>
<asp:ListItem>rugby</asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="Button1" runat="server" Text="submit" OnClick="Button1_Click" />
И соответствующий C# код, чтобы ввести это значение в базе данных выглядит следующим образом:
protected void Button1_Click(object sender, EventArgs e)
{
string str = string.Empty;
foreach (ListItem item in chkboxlsthobbies.Items)
{
if (item.Selected)
{
str += string.Format("{0}, ", item.Text);
}
}
SqlCommand cmd = new SqlCommand("insert into [CheckboxTable] values('" + str + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
bindgrid();
}
Теперь я использую Gridview связать т данные таблицы шляпы и отобразить ее, и в этом случае у меня есть событие onRowEditing и onRowDeleting.
Gridview код выглядит следующим образом:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="gvtxtedit" runat="server" CommandName="Edit" Text="Edit" />
<asp:Button ID="gvtxtdelete" runat="server" CommandName="Delete" Text="Delete" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Hobbies">
<ItemTemplate>
<asp:Label ID="gvlblfirstname" runat="server" Text='<%#Eval("Hobbies") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
И Gridview метод связывания выглядит следующим образом:
protected void bindgrid()
{
SqlCommand cmd = new SqlCommand("select * from [CheckboxTable]", con);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
А теперь я полностью застрял в этой задаче вообще я в состоянии получить значение любого поля в TextBox или в раскрывающемся списке на форме
Пример:
txtfirstname.Text = dt.Rows[0]["firstname"].ToString();
внутри onRowEditing случае, чтобы получить значение поля обратно к элементу управления на форме, которую можно сделать для текстового поля и раскрывающегося списка.
Проблема заключается в том, что я не могу понять, как извлечь несколько значений, разделенных символом «,» обратно в список флажков, потому что есть несколько значений, я пробовал это в течение длительного времени.
Последней проблемой является выбор значений в базе данных обратно в список флажков внутри события onRowEditing GridView.
Посмотрите на [этот учебник] (http://www.ezzylearning.com/tutorial/editing-data-using-asp-net-gridview-control). Он охватывает все основы редактирования и обновления GridView. – VDWWD
Спасибо за долю, но это основные операции по обновлению вставки в Gridview, которые довольно легки, я ищу конкретную проблему, упомянутую выше. Спасибо в любом случае. @VDWWD –
В этом уроке редактирование выполняется только внутри Gridview, вы хотите получить значения текущей строки для элементов управления в форме, которую я могу сделать для всех элементов управления, кроме списка флажков, который имеет несколько значений. @VDWWD –