Включение/выключение редактирования строк сетки на основе условия
У меня есть столбец в gridview, и если значение "да", то gridview не должен редактироваться, иначе пользователь может редактировать.
Я пробовал 2 разных методов в командной строке и связанные данные строки.
Что я уже пробовал:
protected void grdChangeRequirement_RowCommand(object sender, GridViewCommandEventArgs e) { GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer); Label myTextBox = row.FindControl("lbl_SignOff") as Label; if (myTextBox.ToString() == "Yes") { Label btnUpdate = row.FindControl("btn_Update") as Label; Label btnCancel = row.FindControl("btn_Cancel") as Label; btnUpdate.Visible = false; btnCancel.Visible = false; } }
protected void grdChangeRequirement_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { Label btnUpdate = (e.Row.FindControl("btn_Update") as Label); Label btnCancel = (e.Row.FindControl("btn_Cancel") as Label); if (e.Row.Cells[12].Text == "Yes") { btnUpdate.Enabled = false; } } }
Karthik_Mahalingam
разместить разметку gridview
Renjith_R
&ЛТ;в ASP:GridView в идентификатор="grdChangeRequirement" атрибут runat="сервер" AutoGenerateColumns="ложных"
Width="100%" CellPadding="0" CellSpacing="0" BorderStyle="None" BorderWidth="0"
AllowPaging="true" OnRowCancelingEdit="grdChangeRequirement_RowCancelingedit" OnRowDeleting="grdChangeRequirement_RowDeleting"
OnRowEditing="grdChangeRequirement_RowEditing" OnRowUpdating="grdChangeRequirement_RowUpdating"
OnPageIndexChanging="grdChangeRequirement_PageIndexChanging" OnRowDataBound="grdChangeRequirement_RowDataBound"
OnRowCommand="grdChangeRequirement_RowCommand" OnSelectedIndexChanged="grdChangeRequirement_SelectedIndexchanged">
<колонки>
<asp:TemplateField HeaderText="SignOff" ItemStyle-BorderStyle="Solid"
ItemStyle-HorizontalAlign="Центр" HeaderStyle-Свойства Borderstyle="Твердый" HeaderStyle-HorizontalAlign="Центр"
HeaderStyle-Width="6%" HeaderStyle-Height="10%">
<itemtemplate>
&ЛТ;АСП:метка идентификатор="lbl_SignOff" атрибут runat="сервер" текст=в'<%#Ивала("выход") %&ГТ; в'>
<edititemtemplate>
&ЛТ;как ASP:dropdownlist с ИД="ddl_Signoff" CssClass="выпадающий" атрибут runat="сервер" SelectedValue=в'<%# Ивала("выход") %&ГТ; в'>
<asp:listitem>--выберите--
<asp:listitem>Да
<asp:listitem>Нет
<asp:listitem>NA
<asp:TemplateField ItemStyle-BorderStyle="Solid" ItemStyle-HorizontalAlign="Center"
HeaderStyle-свойства borderstyle="твердый" HeaderStyle-HorizontalAlign="центр"и GT;
<itemtemplate>
&ЛТ;АСП:кнопка ID="btn_Edit" атрибут runat="сервер" текст="редактировать" Имя_команды="редактировать" CssClass="input_button"
CommandArgument='<%# контейнер.DataItemIndex %>' />
<edititemtemplate>
&ЛТ;АСП:кнопка ID="btn_Update" атрибут runat="сервер" текст="обновить" Имя_команды="обновить" CssClass="input_button"
CausesValidation="false" />
&ЛТ;АСП:кнопка ID="btn_Cancel" атрибут runat="сервер" текст="отмена" Имя_команды="отмена" CssClass="input_button"
CausesValidation="false" />
Karthik_Mahalingam
проверьте решение