ドロップダウンリストがあります。dropdownlist のインデックスを変更すると、asp.net gridview に行が入力されます。
グリッドビュー全体を更新する代わりに、ドロップダウン リストの値が変更されるたびにグリッドビューに新しい行を追加したいと考えています。
誰でもそれができる方法を知っていますか? 私は以下のコードを持っています:
aspx:
<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>
aspx.cs
protected void ddlClient_SelectedIndexChanged(object sender, EventArgs e)
{
gvMainLog.DataSource = GetDealerSetupUtilityByClientId(1,1);
gvMainLog.DataBind();
}
JavaScript
<script type="text/javascript">
function deleteRow(rowId) {
$("#" + rowId).remove();
}
</script>