在网格视图行中输入键文本框未获取 id 选择
Posted
技术标签:
【中文标题】在网格视图行中输入键文本框未获取 id 选择【英文标题】:Enter key text box in Grid view Row not get id select 【发布时间】:2019-07-06 21:46:14 【问题描述】:我想在单元格中填充数据后编辑网格视图中第 4 列的数据输入保存我只能保存第一行,同时这样做。
请帮助我,我尝试了每一个建议。
function controlEnter(obj, event)
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13)
var time = $('[id*=txtdateN]').val();
var row = $(this).closest("tr");
var KULNid = $('[id*=txtID]').val();
var Grid_EnterKey = document.getElementById(obj);
var gKANRIZU_NO = obj;
var gSOK1 = $(this).closest('tr').find('.SOK1').val();
var gSOK2 = $(this).closest('tr').find('.SOK2').val();
var gSOK3 = $(this).closest('tr').find('.SOK3').val();
var gSOK4 = $(this).closest('tr').find('.SOK4').val();
$.ajax(
type: "POST",
url: "WebService.asmx/UpdategridG",
data: "'KULN' :'" + KULNid + "', 'KANRIZU_NO': '" + gKANRIZU_NO + "' ,'SOK1': '" + gSOK1 + "' , 'SOK2': '" + gSOK2 + "' , 'SOK3': '" + gSOK3 + "', 'SOK4' : '" + gSOK4 + "','time' : '" + time + "' ",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: OnErrorCall_
);
function OnErrorCall_(repo)
alert("Something went wrong, pls check setting");
else
return true;
</script>
<asp:TemplateField HeaderText="SOK1" HeaderStyle-CssClass="text-center" ItemStyle-BackColor="#f4f7c9">
<ItemTemplate>
<asp:Label ID="lblSOK1" runat="server"></asp:Label>
<asp:TextBox ID="txtSOK1" ReadOnly="false" runat="server" CssClass="SOK1 hideControl form-control"></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt01" ReadOnly="false" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SOK2" HeaderStyle-CssClass="text-center" ItemStyle-BackColor="#f4f7c9">
<ItemTemplate>
<asp:Label ID="lblSOK2" runat="server"></asp:Label>
<asp:TextBox ID="txtSOK2" ReadOnly="false" runat="server" CssClass="SOK2 hideControl form-control"></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt02" ReadOnly="false" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SOK3" HeaderStyle-CssClass="text-center" ItemStyle-BackColor="#f4f7c9">
<ItemTemplate>
<asp:Label ID="lblSOK3" runat="server"></asp:Label>
<asp:TextBox ID="txtSOK3" ReadOnly="false" runat="server" CssClass="SOK3 hideControl form-control"></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt03" ReadOnly="false" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SOK4" HeaderStyle-CssClass="text-center" ItemStyle-BackColor="#f4f7c9">
<ItemTemplate>
<asp:Label ID="lblSOK4" runat="server"></asp:Label>
<asp:TextBox ID="txtSOK4" runat="server" CssClass="SOK4 hideControl form-control"></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txt04" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
【问题讨论】:
【参考方案1】:只需传递要更新的所选列的唯一 ID 的 ClientID,并通过 ClientID 更新数据库行
在 ajax 中
data: 'ClientID': ClientID, 'others parames',
举例
$sql = "updated table set column1=value Where ClientID=20";
希望对你有帮助
【讨论】:
当我添加数据第二行 id = 2 但代码仅在文本框中第一行获取 id 和数据 点击编辑选项时按唯一 ID 编辑列 在列中单击并输入保存时按唯一 ID 编辑列 按唯一 id(db id) 编辑列,并按该唯一 id 更新行 var gSOK1 = $(this).closest('tr').find("[id*=txtSOK1]")[0].innerhtml; var gSOK2 = $(this).closest('tr').find("[id*=txtSOK2]")[0].innerHTML; var gSOK3 = $(this).closest('tr').find("[id*=txtSOK3]")[0].innerHTML; var gSOK4 = $(this).closest('tr').find("[id*=txtSOK4]")[0].innerHTML;以上是关于在网格视图行中输入键文本框未获取 id 选择的主要内容,如果未能解决你的问题,请参考以下文章