小白一只 求指教

Demonuers 2016-08-04 11:11:14
gridview控件下放一个button控件 实现对数据库表里的数据进行修改 网上的资料全是在gridview上直接编辑 我需要的是使用button控件 进行修改 求大神们 指点下
...全文
343 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
㤁孞 2016-08-19
  • 打赏
  • 举报
回复
sorry写错了不是选中行事件,可以选双击单元格事件,双击行事件都可以
㤁孞 2016-08-19
  • 打赏
  • 举报
回复
选中行事件->获取选中行->选中行打包成对象->传到编辑传递->更新完数据->跳转回来刷新
Dotar 2016-08-19
  • 打赏
  • 举报
回复
你用gridview做这样的效果还要做样式,岂不是很费劲
xtflz2012 2016-08-18
  • 打赏
  • 举报
回复
你可以使用模板实现 <asp:GridView ID="gv_ProductType" runat="server" AutoGenerateColumns="False" Width="530px" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" onrowdeleting="gv_ProductType_RowDeleting" onrowcancelingedit="gv_ProductType_RowCancelingEdit" onrowediting="gv_ProductType_RowEditing" onrowupdating="gv_ProductType_RowUpdating" > <AlternatingRowStyle BackColor="PaleGoldenrod" /> <Columns> <asp:TemplateField HeaderText="序号" HeaderStyle-Width="10%"> <ItemTemplate> <%# (Container.DataItemIndex + 1).ToString()%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="商品编号" Visible=false> <ItemTemplate> <asp:Label ID="Label1" Text='<%# Eval("TypeId") %>' runat="server" Visible=false></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="商品类别"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"TypeName") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TypeName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"TypeName") %>' Width="70px"></asp:TextBox> </EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="商品级别"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem,"TypeLevel") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TypeLevel" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"TypeLevel") %>' Width="70px"></asp:TextBox> </EditItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="维护人员"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Operator")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="维护人员工号"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "OperatorID")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="操作"> <ItemTemplate> <asp:LinkButton ID="Button2" runat="server" Text="编辑" CommandName="Edit" CausesValidation = false/> <asp:LinkButton ID="ImageButton1" runat="server" Text="删除" CommandName="Delete" OnClientClick='if (!confirm("你确定要删除该类别吗?")) {return false;}' CausesValidation=false/> </ItemTemplate> <EditItemTemplate> <asp:LinkButton ID="Button1" runat="server" Text="更新" CommandName="Update" CausesValidation=false OnClientClick='if (!confirm("你确定要更新吗?")) {return false;}'/> <asp:LinkButton ID="Button3" runat="server" Text="取消" CommandName="Cancel" CausesValidation=false/> </EditItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="Tan" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <RowStyle HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <SortedAscendingCellStyle BackColor="#FAFAE7" /> <SortedAscendingHeaderStyle BackColor="#DAC09E" /> <SortedDescendingCellStyle BackColor="#E1DB9C" /> <SortedDescendingHeaderStyle BackColor="#C2A47B" /> </asp:GridView>
Demonuers 2016-08-04
  • 打赏
  • 举报
回复
能讲的 具体些吗 小白 不太明白
事实胜于雄辩 2016-08-04
  • 打赏
  • 举报
回复
首先你需要在修改按钮那个点击事件里面 获取到 选中行的数据信息(id,name),然后传到另一个窗体 给赋值 最后 update就行了 窗体传值的方法:http://www.cnblogs.com/lema/archive/2012/10/08/2715407.html 获取选中行:http://www.cnblogs.com/wuhuisheng/archive/2011/04/18/2019931.html
insus 2016-08-04
  • 打赏
  • 举报
回复
Demonuers 2016-08-04
  • 打赏
  • 举报
回复

就是这个样子 在gridview后面有 checkbox 选择 某一行 点修改按钮 跳转页面 来实现 修改 或者放弃
insus 2016-08-04
  • 打赏
  • 举报
回复
再描述详细一些。
  • 打赏
  • 举报
回复
引用 8 楼 pengqian098 的回复:
说的好像是小白就该被帮助一样,
需要帮助的面越多,越小白,伴随问题的减少,也就慢慢脱离了小白的阶段,这叫成长,我想楼主至少是诚恳的
楠小南 2016-08-04
  • 打赏
  • 举报
回复
如果只是修改少量数据!我的意见就是 同弹窗口的方式 来修改,写一个div 层 ,点击编辑后弹出这个层,在这个层里面修改, 而不用为了修改几个字段 跳到一个新页面 ,吃力!! 当然 数据量大就另当别论了
liqiucu 2016-08-04
  • 打赏
  • 举报
回复
既然是html,加个<input type='button'/> 到你的复选框后,点击后带上ID传给你的edit页面不就行了啊
跳动de指尖 2016-08-04
  • 打赏
  • 举报
回复
说的好像是小白就该被帮助一样,
qq_35739679 2016-08-04
  • 打赏
  • 举报
回复
你把按钮放在gridview里面,在gridview里的事件里写
hxm_admin 2016-08-04
  • 打赏
  • 举报
回复
<asp:Button ID="EditButton" runat="server" Text="编辑" OnClick="EditClick" /> protected void EditClick(object sender, EventArgs e) { Button b = sender as Button; GridViewRow dvr = b.NamingContainer as GridViewRow; int EditId = dvr.DataItemIndex; TextBox id= this.GridView1.Rows[EditId].FindControl("id") as TextBox; // 跳转页面 传id }

62,046

社区成员

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

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

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

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