C# 如何将行附加到gridview而不是完全刷新
我有一个下拉列表。在更改dropdownlist的索引时,我在asp.net gridview中填充了一行 我不想刷新整个gridview,而是希望在下拉列表值发生更改时,使用新行附加gridview 有人知道怎么做吗?我的代码如下: aspx:C# 如何将行附加到gridview而不是完全刷新,c#,javascript,jquery,asp.net,visual-studio-2010,C#,Javascript,Jquery,Asp.net,Visual Studio 2010,我有一个下拉列表。在更改dropdownlist的索引时,我在asp.net gridview中填充了一行 我不想刷新整个gridview,而是希望在下拉列表值发生更改时,使用新行附加gridview 有人知道怎么做吗?我的代码如下: aspx: <table> <tr> <td> <div> <asp:Label ID="lblC
<table>
<tr>
<td>
<div>
<asp:Label ID="lblClient" runat="server" Text="Client :" CssClass="label" ForeColor="Black"></asp:Label>
<asp:DropDownList ID="ddlClient" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddlClient_SelectedIndexChanged">
<asp:ListItem Text="ALL" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="gvMainLog" runat="server" Visible="true" AllowSorting="True" AutoGenerateColumns="False"AllowPaging="true">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<div id='<%# "myRow" + Container.DataItemIndex %>'>
<asp:Literal ID="ltId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Instruction")%>'></asp:Literal>
<img src="../Images/KnobRed.png" onclick='<%# "deleteRow(\"myRow" + Container.DataItemIndex+"\")" %>'/> </div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
javascript
<script type="text/javascript">
function deleteRow(rowId) {
$("#" + rowId).remove();
}
</script>
函数deleteRow(rowId){
$(“#”+rowId).remove();
}
这可能需要注释,但我想显示一行代码
Container.DataItemIndex
应替换为
,并且需要输出函数deleteRow
你的onclick应该是这样的
onclick="deleteRow(myRow + <%#DataBinder.Eval(Container, "DataItemIndex")%>"
onclick=“删除行(myRow+”
在javascript中试试这个
<script type="text/javascript">
function deleteRow(rowId) {
$("#" + rowId).remove();
}
</script>
//添加新行
function AddNewRecord()
{
var grd = document.getElementById('GridView1');
var tbod=grd.rows[0].parentNode;
var newRow=grd.rows[grd.rows.length - 1].cloneNode(true);
tbod.appendChild(newRow);
return false;
}
//删除旧行
function delrow(rowindex)
{
var gridID=document.getElementById("<%=grid.ClientID %>");
gridID.deleteRow(rowindex+1);
return false;
}
函数delrow(行索引)
{
var gridID=document.getElementById(“”);
gridID.deleteRow(rowindex+1);
返回false;
}
您已设置为使用服务器端事件,但需要客户端更新吗?我只想使用服务器端事件。例如:在更改dropdownlist上的项目时,我想从数据库中提取一行,并将该行附加到当前的gridview中。您能告诉我deleteRow的含义是什么吗?@SqlSamurai it n如上所述,需要退出“”。在您的代码中,您已经在onclick='嘿,谢谢!我在问题中发布的当前代码运行得非常好。我想知道如何将另一行附加到gridview,而不是对页面进行完全刷新。