J'essaie de désactiver la zone de texte à l'intérieur de GridView en fonction d'autres valeurs dans la même ligne mais comment j'obtiens une exception de référence nulle lorsque j'essaie de définir la propriété enable.essayer d'accéder à la valeur de la zone de texte donnant l'exception
Ci-dessous mon ASPX code:
<asp:GridView ID="gvPRCertInfo" runat="server" AutoGenerateColumns="False" GridLines="None"
CellSpacing="1" CellPadding="1"
Width="100%" BorderWidth="0"
AllowSorting="True"
PageSize="30"
OnRowDataBound="gvPRCertInfo_RowDataBound"
CssClass="data responsive">
<Columns>
<asp:TemplateField HeaderText="Select" SortExpression="">
<ItemTemplate>
<asp:CheckBox ID="chkCert" runat="server" /><input type="hidden" id="hdnCertId" runat="server" value='<%# DataBinder.Eval(Container.DataItem, "CertId") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CertificateID" HeaderText="Certificate ID" />
<asp:TemplateField HeaderText="OrderQuantity">
<EditItemTemplate>
<asp:TextBox ID="txtOrderQty" runat="server"
Text='<%# Bind("OrderQty") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="AvailableQuantity">
<EditItemTemplate>
<asp:TextBox ID="txtAvaiableQty" runat="server"
Text='<%# Bind("AvailableQty") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="RedeemQuantity">
<EditItemTemplate>
<asp:TextBox ID="txtRedeemQty" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Specification" HeaderText="specification" Visible ="false" />
<asp:BoundField DataField="ActCertId" HeaderText="ActivatedCerts" Visible ="false" />
</Columns>
<EmptyDataRowStyle CssClass="AlternatingRowStyle" />
<HeaderStyle CssClass="HeaderStyle" HorizontalAlign="Center" />
<PagerSettings Visible="False" />
</asp:GridView>
Et voici mon aspx.cs code:
protected void gvPRCertInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string specifications = Convert.ToString(e.Row.Cells[5].Text);
if(string.IsNullOrEmpty(specifications))
{
TextBox txtOrderQty = e.Row.FindControl("txtOrderQty") as TextBox;
TextBox txtAvailableQty = e.Row.FindControl("txtAvaiableQty") as TextBox;
TextBox txtRedeemQty = e.Row.FindControl("txtRedeemQty") as TextBox;
txtOrderQty.Enabled = false; // getting error at here
txtAvailableQty.Enabled = false;
txtRedeemQty.Enabled = false;
}
string ActCertId = Convert.ToString(e.Row.Cells[6].Text);
if(string.IsNullOrEmpty(ActCertId))
{
CheckBox chkCert = (CheckBox)e.Row.FindControl("chkCert");
chkCert.Enabled = false;
}
}
}
Je ne sais pas où je suis en train de faire mal à ce code.
Pourriez-vous s'il vous plaît aider sur cette requête qui serait très reconnaissant pour moi?