【发布时间】:2019-01-03 08:59:39
【问题描述】:
“我正在使用 asp.net gridview,当用户单击编辑按钮时,下拉列表列应该隐藏。我应该怎么做才能让它隐藏?我附上了下面的代码。gridview 包含学生数据,gridview 将显示根据用户选择的分类数据记录。我尝试在 OnRowDataBound 上隐藏该列,但它对我不起作用。有什么方法可以隐藏特定列 OnRowEditing 事件”
<asp:GridView ID="GridView1" runat="server" DataKeyNames="id"
CssClass="table table-bordered table-striped"
AutoGenerateColumns="False"
HorizontalAlign="Center" CellPadding="4"
EmptyDataText="No Record Found....."
onrowcancelingedit="GridView1_RowCancelingEdit"
onrowediting="GridView1_RowEditing"
onrowupdating="GridView1_RowUpdating"
ForeColor="#333333"
GridLines="None"
OnPageIndexChanging="OnPageIndexChanging" PageSize="15"
AllowPaging="true" >
<PagerSettings Position="Bottom" />
<AlternatingRowStyle BackColor="White"
ForeColor="#284775"
/>
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkRow" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sr.No">
<ItemTemplate>
<asp:Label ID="lblId" runat="server"
Text='<%#Container.DataItemIndex+1%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblFullName" runat="server"
Text='<%#Eval("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ack">
<ItemTemplate>
<edititemtemplate>
<asp:DropDownList
ID="Drpacknowledgement" AutoPostBack="True"
onselectedindexchanged="Drpacknowledgement_SelectedIndexChanged"
runat="server">
<asp:ListItem>--Select--</asp:ListItem>
<asp:ListItem>Received</asp:ListItem>
<asp:ListItem>Reject</asp:ListItem>
</asp:DropDownList>
</edititemtemplate>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Edit/Update">
<ItemTemplate>
<asp:LinkButton ID="LkB1" runat="server"
CommandName="Edit">Edit</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="LkB2" runat="server"
CommandName="Update">Update</asp:LinkButton>
<asp:LinkButton ID="LkB3" runat="server"
CommandName="Cancel">Cancel</asp:LinkButton>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Codebehind:
protected void GridView1_RowEditing(object sender,
GridViewEditEventArgs
e)
{
try
{
string Id =
GridView1.DataKeys[e.NewEditIndex].Value.ToString();
GridView1.EditIndex = e.NewEditIndex;
ViewState["Id"] = Id;
EditRecord();
}
catch (Exception ex)
{
}
}
【问题讨论】: