社区
JavaScript
帖子详情
ASP.NET中如何实现repeater控件的单元格内数据直接编辑并保存至数据库
vita1982
2016-11-16 11:07:31
ASP.NET中如何实现repeater控件内显示的数据在单元格内(即:<td>)直接可编辑,回车保存。不要每次选中行再点击编辑按钮弹出框编辑数据,同时获得各个单元格的数据项信息,等数据都添加完成后,点击保存按钮,取得全部数据更新数据库(sqlserver )。
网上查有些jquery控件可实现相应功能,但没找到完整的可参考实例,这块不熟悉,还望高人指教,谢谢~
...全文
489
4
打赏
收藏
ASP.NET中如何实现repeater控件的单元格内数据直接编辑并保存至数据库
ASP.NET中如何实现repeater控件内显示的数据在单元格内(即:)直接可编辑,回车保存。不要每次选中行再点击编辑按钮弹出框编辑数据,同时获得各个单元格的数据项信息,等数据都添加完成后,点击保存按钮,取得全部数据更新数据库(sqlserver )。 网上查有些jquery控件可实现相应功能,但没找到完整的可参考实例,这块不熟悉,还望高人指教,谢谢~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ChengCCccccc
2020-11-02
打赏
举报
回复
<div class="form-group">
<div class="col-md-12">
<div class="table-responsive" style="margin-bottom: 0px;">
<table border="0" cellpadding="0" cellspacing="1" class="table table-striped" style="min-width: 700px;">
<tr id="listHead" runat="server">
<th>PR Number</th>
<th>PR明细</th>
<th style="width: 70px;">数量</th>
<th style="width: 200px; text-align: right; padding-right: 30px;">单价<asp:Label ID="CurrencyView" runat="server" Text=""></asp:Label></th>
<th style="width: 160px;"> </th>
</tr>
<asp:Repeater ID="rep_Details" runat="server" OnItemDataBound="rep_Details_ItemDataBound">
<ItemTemplate>
<tr>
<td align="center" style="vertical-align: middle;">
<span style="display:none;"><asp:Label ID="lblContractDetailID" runat="server" Visible="false" Text='<%#Eval("ID")%>'></asp:Label></span>
<asp:Label ID="lblPRNumbers" runat="server" Text='<%#Eval("PRNumbers")%>'></asp:Label>
<asp:TextBox ID="r_PRNumbers" runat="server" Text='<%#Eval("PRNumbers")%>' Visible="false" ValidationGroup="rowEdit" ToolTip="PR Numbers"></asp:TextBox>
</td>
<td align="left" style="vertical-align: middle;">
<asp:Label ID="lblPRItem" runat="server" Text='<%#Eval("PRItem")%>'></asp:Label>
<asp:TextBox ID="r_PRItem" runat="server" Text='<%#Eval("PRItem")%>' Visible="false" ValidationGroup="rowEdit" ToolTip="PR明细"></asp:TextBox>
</td>
<td align="center" style="vertical-align: middle;">
<asp:Label ID="lblCount" runat="server" Text='<%#Eval("ContractCount")%>'></asp:Label>
<asp:TextBox ID="r_ContractCount" runat="server" Text='<%#Eval("ContractCount")%>' Visible="false" ValidationGroup="rowEdit" ToolTip="数量"></asp:TextBox>
</td>
<td align="right" style="text-align: right; padding-right: 30px; vertical-align: middle;">
<asp:Label ID="lblUnitPrice" runat="server" Text='<%#Eval("ContractUnitPriceView")%>'></asp:Label>
<asp:TextBox ID="r_ContractUnitPrice" runat="server" Text='<%#Eval("ContractUnitPrice")%>' Visible="false" ValidationGroup="rowEdit" ToolTip="单价"></asp:TextBox>
</td>
<td align="center" style="vertical-align: middle;">
<%-- https://www.cnblogs.com/lonelyxmas/p/3569810.html
UpdatePanel Repeater内LinkButton造成页面刷新问题
给LinkButton添加属性ClientIDMode="AutoID"
--%>
<asp:LinkButton ID="btnEditRow" runat="server" ClientIDMode="AutoID" OnClick="btnEditRow_Click" CommandArgument='<%#Eval("ID")%>'><img src="img/edit.png" alt="" /><span class="btnText">修改</span></asp:LinkButton>
<asp:LinkButton ID="btnDeleteRow" runat="server" ClientIDMode="AutoID" OnClientClick="javascript:return confirm('确认删除此条明细?');" OnClick="btnDeleteRow_Click" CommandArgument='<%#Eval("ID")%>'><img src="img/delete.png" alt="" /><span class="btnText">删除</span></asp:LinkButton>
<asp:LinkButton ID="btnConfirmUpdate" runat="server" ClientIDMode="AutoID" OnClick="btnConfirmUpdate_Click" CommandArgument='<%#Eval("ID")%>' Visible="false"><img src="img/ok.png" alt="" /><span class="btnText">确认</span></asp:LinkButton>
<asp:LinkButton ID="btnCancelUpdate" runat="server" ClientIDMode="AutoID" OnClick="btnCancelUpdate_Click" CommandArgument='<%#Eval("ID")%>' Visible="false"><img src="img/cancel.png" alt="" /><span class="btnText">取消</span></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
<tr id="trNewRow" runat="server" visible="false" class="form-inline">
<td style="vertical-align: bottom;">
<asp:TextBox ID="PRNumbers" runat="server" ToolTip="PR Numbers" ValidationGroup="PRNewRow"></asp:TextBox>
</td>
<td>
<div class="col-lg-12" style="padding: 0px;">
<asp:TextBox ID="PRItem" runat="server" ValidationGroup="PRNewRow" ToolTip="PR明细" placeholder="请填写"></asp:TextBox>
</div>
</td>
<td style="vertical-align: bottom;">
<asp:TextBox ID="ContractCount" runat="server" ToolTip="数量" ValidationGroup="PRNewRow"></asp:TextBox>
</td>
<td style="vertical-align: bottom;">
<asp:TextBox ID="ContractUnitPrice" runat="server" ToolTip="单价" ValidationGroup="PRNewRow"></asp:TextBox>
</td>
<td style="vertical-align: bottom;">
<asp:LinkButton ID="btnAdd" runat="server" OnClick="btnAdd_Click"><img src="img/OK.png" alt="" /><span class="btnText">保存</span></asp:LinkButton>
<asp:LinkButton ID="btnCancel" runat="server" OnClick="btnCancel_Click"><span class="btnText"><img src="img/cancel.png" alt="" />取消</span></asp:LinkButton>
</td>
</tr>
<tr>
<td align="center" style="vertical-align: bottom;">
<asp:LinkButton ID="btnAddNewRow" runat="server" OnClick="btnAddNewRow_Click"><img src="img/add.png" alt="" /><span class="btnText">添加项目</span></asp:LinkButton>
</td>
<td colspan="4" align="right"> </td>
</tr>
</table>
</div>
</div>
</div>
protected void AddNewRowOrCancel(bool showRow)
{
trNewRow.Visible = showRow;
btnAddNewRow.Visible = !trNewRow.Visible;
ContractCount.Text = "";
ContractUnitPrice.Text = "";
PRNumbers.Text = "";
PRItem.Text = "";
}
protected void btnAddNewRow_Click(object sender, EventArgs e)
{
AddNewRowOrCancel(true);
}
protected void btnDeleteRow_Click(object sender, EventArgs e)
{
try
{
if (!(sender is LinkButton) || String.IsNullOrEmpty(((LinkButton)sender).CommandArgument))
{
return;
}
string detailid = ((LinkButton)sender).CommandArgument;
DataTable dtDetail = (DataTable)ViewState["dtDetail"];
DataRow deleteRow = dtDetail.Select("ID = " + detailid)[0];
if (dtDetail.Columns.Contains("ID"))
{
if (IntParse(deleteRow["ID"].ToString()) > 0)
{
int i = new VenderContractDetailDAL().DeleteDetail(deleteRow["ID"].ToString());
}
}
dtDetail.Rows.Remove(deleteRow);
ViewState["dtDetail"] = dtDetail;
rep_Details.DataSource = dtDetail;
rep_Details.DataBind();
CalculateAmount();
LoadApprovelList();
}
catch (Exception ex)
{
throw;
}
}
protected void rep_Details_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.FindControl("btnEditRow") != null)
{
LinkButton btnEditRow = (LinkButton)e.Item.FindControl("btnEditRow");
btnEditRow.Visible
= String.IsNullOrEmpty(SubmitDate.Text.Trim())
&& CheckRole(RoleCmd.Update);
}
if (e.Item.FindControl("btn
ChengCCccccc
2020-11-02
打赏
举报
回复
动态生成,然后把值保存在DATATABLE中
斯洛文尼亚旅游
2016-11-17
打赏
举报
回复
http://www.jeasyui.com/demo/main/index.php?plugin=DataGrid&theme=default&dir=ltr&pitem= 看“Cell Editing in DataGrid”示例,不过服务器端还得你自己写代码
slwsss
2016-11-16
打赏
举报
回复
页面效果参考
数据更新用ajax
ASP.NET
五大
数据
控件
.doc
ASP.NET
提供了五种主要的
数据
绑定
控件
,这些
控件
分别是
Repeater
、DataList、GridView、DetailsView 和 FormView。每种
控件
都有其独特的特性和适用场景。理解这些
控件
之间的区别有助于开发者更高效地构建动态网站。...
asp.net
常用Web服务器
控件
4.1 使用
控件
显示文本 ...实例 显示长日期格式时间 实例 显示金额格式文本 4.2 使用
控件
显示图片 实例 显示验证码图片 实例 动态显示用户头像 实例 使用网页对话框显示图片 ...实例
编辑
Repeater
控件
标识商品信息
.net
repeater
绑定
数据
并导入到excel
本知识点将深入讲解如何利用.NET
实现
Repeater
控件
绑定
数据
,并将这些
数据
导入到Excel文件
中
。 首先,我们要了解
Repeater
控件
。
Repeater
是
ASP.NET
中
的一个服务器
控件
,主要用于动态生成HTML结构,它允许开发者通过...
asp.net
控件
命名规范.doc
在
ASP.NET
开发
中
,
控件
命名规范是提高代码可读性、可维护性和团队协作效率的重要环节。以下是一些关于
ASP.NET
控件
命名规范的详细说明: 1. **前缀**: - 前缀通常用于标识
控件
的类型,如`adrt`代表AdRotator广告...
asp.net
SqlDataReader绑定
Repeater
总结起来,这个示例展示了如何在
ASP.NET
中
利用SqlDataReader高效地读取
数据
库
数据
,并通过
Repeater
控件
生成动态的HTML输出。这种技术适用于需要自定义布局且
数据
量较大的情况,可以避免内存占用过多的问题。同时,...
JavaScript
87,996
社区成员
224,708
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章