Potrzebujesz pomocy, aby rozwiązać ten problem.asp.net wybór pola wyboru gridview
Mam gridview i wewnątrz gridview Mam pole wyboru i po kliknięciu checkbox, robię postback zdarzenia i próbuje zaktualizować ten konkretny wiersz tylko w bazie danych.
To jest mój kod pola wyboru gridview. zobacz OnCheckedChanged.
<asp:TemplateField HeaderText="Sample">
<ItemTemplate>
<asp:CheckBox runat="server"
ID="chkSample"
Checked='<%# Bind("Sample") %>'
OnCheckedChanged="UpdateSupplyLed"
AutoPostBack="True">
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
Kod:
protected void UpdateSupplyLed(object sender, EventArgs e)
{
foreach (GridViewRow di in SamplingGridView.Rows)
{
CheckBox chkBx = (CheckBox)di.FindControl("chkSample");
if (chkBx != null && chkBx.Checked)
{
//update database logic here.
}
}
}
Powyższy kod działa poprawnie, ale jest coraz mnie wszystkie pola, które są zaznaczone irresepective od tego, który właśnie sprawdziłem. Nie chcę ich wszystkich.
Jak uzyskać tylko jedną wartość wiersza, która została właśnie sprawdzona. Niektóre wiersze mogły już zostać sprawdzone, ponieważ status jest prawdziwy dla tych rekordów i nie chcę aktualizować tych rekordów.
Myślę, że mam pytanie poprawnie!
Update: Odpowiedź brzmi:
protected void UpdateSupplyLed(object sender, EventArgs e)
{
CheckBox chkSampleStatus = sender as CheckBox;
bool sample = chkSampleStatus.Checked;
GridViewRow row = chkSampleStatus.NamingContainer as GridViewRow;
TextBox txtId = row.FindControl("Id") as TextBox;
int id = Int32.Parse(txtId.Text);
}
Dziękuję za odpowiedź. Ale potrzebuję innych wartości z tego samego wiersza, więc jak mogę uzyskać identyfikator wiersza tego konkretnego wiersza gridview. tak, żebym mógł zdobyć potwierdzenie. – Supremestar
Następnie zaleca się nie wiązać pola wyboru OnCheckChanged, zamiast tego użyj OnRidViews OnRowCommand, wiersz jest dostarczany w GridVieweCommandEventArgs –
HollyStyles, Nie mam pola wyboru polecenia w widoku Grid, więc polecenie wiersza Gridview nie uruchamia się. Co powinienem zrobić mojemu przyjacielowi? Proszę o pomoc. – Supremestar