ASP.NET WinForms C# - 如何更新JQGrid中编辑值的标签

问题描述:

我有一个页面,JQGrid绑定到SqlDataSource1和Label绑定到SqlDataSource2。两个SqlDataSources都从同一个表中进行选择,第一个选择所有记录,第二个只返回JQGrid中SelectedRow的一条记录。 Label的Text属性绑定到该记录中的一个字段的值。所有工作正常,但是当我点击JQGrid中的编辑按钮并在打开的对话框中编辑选定的记录时,关闭对话框后,我想要更新我的标签中的编辑值。但JQGrid事件RowEdited不会导致回发。请帮我解决一下这个。ASP.NET WinForms C# - 如何更新JQGrid中编辑值的标签

随着@马克的帮助我解决这个问题,这里是例如我使用的jqGrid处理的LoadComplete客户端事件javacript(jQuery的)功能:

<script type="text/javascript"> 
    function LoadComplete(data) { 
     if (data == null) return; 
     var selectedRowId = '<%=(Session["SelectedRow"] == null)?string.Empty:Session["SelectedRow"].ToString()%>'; 
     if (selectedRowId == '') return; 
     var rows = $.map(data.rows, function (value) { 
      return (value.id == selectedRowId) ? value : null; 
     }); 
     var selectedRow = rows[0]; 
     var id = selectedRow.cell[0]; 
     var name = selectedRow.cell[1]; 
     var surname = selectedRow.cell[2]; 
     $('#<%= this.lblName.ClientID %>').html(name); 
     $('#<%= this.lblSurname.ClientID %>').html(surname); 
    } 
</script> 

我没有看到RowEdited事件作为编辑行文档的一部分,但会有其他事件可以调用来更新您的标签。

跳到我身上的是余波函数调用,您可以在无需调用服务器来更新标签的情况下设置该值。

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#editrow

如果你想使用表格编辑,那么你可以扎入调用来更新您的标签的afterComplete功能。这是非常好的,因为在对标签进行更改之前,您可以得到肯定的确认,将其编辑保存为afterComplete函数的一部分。

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing

+0

很酷,但等等,你打算如何通过服务器端事件做回发? – Mark

+0

我更新了答案以反映表单编辑解决方案。 – Mark

+0

这是我的主要问题。我不知道该怎么做。我将在客户端更新标签,但我不知道在编辑对话框关闭后触发的事件。 –