У меня есть Gridview, который имеет 4 столбца. Все в ItemTemplate
Один столбец - CheckBox. Этот Gridview привязан к источнику данных. То, что я хочу сделать, - это когда флажок установлен, обновить базу данных с битовым значением «1», и если я сниму флажок, чтобы сделать то же самое, но «0».Запустить событие, когда флажок установлен или снят. Gridview C#
Я уже знаю свой код SQL для обновления базы данных, но я не уверен, как запустить событие, чтобы он смотрел на текущую строку, включенную в gridview.
Вот столбец CheckBox.
<asp:TemplateField HeaderText="Pick" ItemStyle-CssClass="hrGrid" HeaderStyle-CssClass="hdrHrBase">
<ItemTemplate>
<asp:CheckBox id="cbViewCustomer" runat="server" OnCheckedChanged="ViewCustomer" onAutoPostBack="true" Checked='<%#(Eval("chosen"))%>'/>
</ItemTemplate>
</asp:TemplateField>
ли я использовать EventArgs так: Проблема с этим он обновляет базу данных, но все строки. То, что я пытаюсь сделать, это обновить только текущую строку, находящуюся в Gridview. Я просто не знаю, куда идти отсюда.
protected void ViewCustomer(object sender, EventArgs e)
{
string SelectCustomer = "UPDATE tblcustomer Set chosen ='0'";
NpgsqlCommand changedata = new NpgsqlCommand(SelectCustomer, con);
con.Open();
changedata.ExecuteNonQuery();
con.Close();
}
Или я должен делать что-то другое?
Вы пробовали это? Это правильное решение. Хотя вы должны подумать, хотите ли вы сделать это сразу ... Обычно пользователи предполагают, что они могут редактировать вещи как черновики и сохранять только при нажатии кнопки «Сохранить», убедитесь, что это не так, и пользователи понимают, что проверка этого поля будет НЕМЕДЛЕННО обновлять объект как я нашел это может подчеркнуть людей – Milney
Так как это обновляет весь столбец с тем же значением. Я просто обновляю текущую строку. – Tommy
Что? Вам нужно опубликовать другой код, который делает обновление ... Вы можете, конечно, сделать то, что вам нужно, с обработчиком событий, подобным этому – Milney