GridView常见问题及解决办法

1.GirdView自动显示编辑模式,设置AutoGenerateEditButton="true"

2.GirdView编辑,更新,取消方法

protected void Edit_Click(object sender, GridViewEditEventArgs e)
{
this.gvData.EditIndex = e.NewEditIndex;
DateBind();
}

protected void gvData_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox tb1 = (TextBox)gvData.Rows[e.RowIndex].FindControl("txtUserCount");
string count = tb1.Text;
gvData.EditIndex = -1;

//重新绑定数据,必须重新绑
DateBind();
}

protected void gvData_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvData.EditIndex = -1;
DateBind();
}

设计状态代码:

<asp:GridView RowStyle-Wrap="false" runat="server" ShowHeader="true" OnRowEditing="Edit_Click"
AutoGenerateColumns="False" ID="gvData" Width="98%"
GridLines="Both" BorderWidth="1px" EnableModelValidation="false"
CellPadding="4" AutoGenerateEditButton="true"
onrowcancelingedit="gvData_RowCancelingEdit" onrowupdating="gvData_RowUpdating">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<Columns>
<asp:TemplateField HeaderText="医院名称">
<ItemTemplate>
<asp:Label ID="lblHospitalName" runat="server" Text='<%# Eval("HospitalName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="产品型号">
<ItemTemplate>
<asp:Label ID="lblproductType" runat="server" Text='<%# Eval("productType") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="使用数量">
<ItemTemplate>
<asp:Label runat="server" ID="lblUserCount" Text='<%#Eval("Count") %>'></asp:Label> </ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtUserCount" runat="server" Text='<%#Bind("Count") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="注备">
<ItemTemplate>
<asp:Label runat="server" ID="lblStorageRemark" Text='<%#Eval("StorageRemark") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtStorageRemark" runat="server" Text='<%#Bind("StorageRemark") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>

<RowStyle Wrap="False" HorizontalAlign="Center" VerticalAlign="Middle"></RowStyle>
<PagerStyle BackColor="#d22238" ForeColor="White" HorizontalAlign="Center" Font-Bold="True" />
<HeaderStyle BackColor="#E5E5E5" Font-Bold="True"/>
<AlternatingRowStyle BackColor="White" />
</asp:GridView>

3.gridview编辑列时要点击两次才能触发事件

因为你点击第一次的时候系统又去查询,把查询的结果放在了ds里面而没有呈现在页面上来!当一第二次点的时候才是取的ds里面有效的数据,重新绑定数据就没事了,一次点击就成功了

转载于:https://www.cnblogs.com/GreenGrass/archive/2012/08/30/2663225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值