[在线等]gridview启用编辑功能

我想有个浪漫小屋 2012-09-10 10:12:46
界面代码

<asp:TemplateField HeaderText="数量">
<ItemTemplate>
<asp:Label ID="lblcounts0" runat="server" Text='<%# Bind("hm_counts") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtcounts" Width="60" runat="server"
Text='<%# Bind("hm_counts") %>'></asp:TextBox>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="100px" />
</asp:TemplateField>


后台代码

//更新事件
protected void gvHTMX_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int hm_id = Convert.ToInt32(gvHTMX.DataKeys[e.RowIndex].Value);
//下面这个counts是文本框的值
int counts = Convert.ToInt32(((TextBox)gvHTMX.Rows[e.RowIndex].FindControl("txtcounts")).Text);
//下面这个numbers是原始数量
int numbers = Convert.ToInt32(((Label)gvHTMX.Rows[e.RowIndex].FindControl("lblcounts0")).Text);
string beiz = ((TextBox)gvHTMX.Rows[e.RowIndex].FindControl("txtmxbz")).Text;
for (int i = 0; i < list.Count; i++)
{
if (list[i].Hm_id == hm_id)
{
list[i].Hm_counts = counts;
list[i].Hm_beiz = beiz;
}
}
this.gvHTMX.EditIndex = -1;
this.initGvHTMX();//刷新
}

现在问题出在这个可编辑的文本框,我刚写完代码测试的时候,是可以正常编辑的,但是过了两天。。。这个counts得到的值一直是未改动的。比如,文本款显示的是2000。但是我这次到货只有1000,那我就编辑文本框。将2000改为1000,本来后台取出的值应该是1000猜对,可是我取出的为什么是2000这个固定值?在线求解,谢谢
...全文
238 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没有人知道吗?


为什么会这样?
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
楼主我也遇到过类似的最后是在 Page_Load中添加
if (!IsPostBack)
{

}
具体里面怎么写你可以自己查下msdn。
你先试下。

C# code
谢谢~
不过,我这个gridview的数据加载方法,是被动的,主动方是一个下拉列表框。下拉列表框的值
改变时,gridview的数据也会随着改变的。所以下载if(!isPostBack)
里面好像行不通
if (!IsPostBack)
{
int hm_id = Convert.ToInt32(gvHTMX.DataKeys[e.RowIndex].Value);
//下面这……
[/Quote]
聖傑 2012-09-10
  • 打赏
  • 举报
回复
楼主我也遇到过类似的最后是在 Page_Load中添加
if (!IsPostBack)
{

}
具体里面怎么写你可以自己查下msdn。
你先试下。

if (!IsPostBack)
{
int hm_id = Convert.ToInt32(gvHTMX.DataKeys[e.RowIndex].Value);
//下面这个counts是文本框的值
int counts = Convert.ToInt32(((TextBox)gvHTMX.Rows[e.RowIndex].FindControl("txtcounts")).Text);
//下面这个numbers是原始数量
int numbers = Convert.ToInt32(((Label)gvHTMX.Rows[e.RowIndex].FindControl("lblcounts0")).Text);
string beiz = ((TextBox)gvHTMX.Rows[e.RowIndex].FindControl("txtmxbz")).Text;
for (int i = 0; i < list.Count; i++)
{
if (list[i].Hm_id == hm_id)
{
list[i].Hm_counts = counts;
list[i].Hm_beiz = beiz;
}
}
this.gvHTMX.EditIndex = -1;
this.initGvHTMX();//刷新
}

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧