以下のコードブロック(Designer-.ASPX)を参照して、実行時に内部グリッドビューをList<>
でバインドしようとしています。内側のgridviewのList<>
は外側グリッドのデータソースのメンバです。グリッド列のデータソースを保持する方法
デザインからわかるように、ユーザーが埋め込み "+"画像ボタンをクリックした後にのみ、内部グリッドビューをそれぞれのデータソースにバインドしたいと思います。
ボタンのクリック時に内部グリッドビューを見つけることはできますが、同じようにデータソースを保持する方法はわかりません。すべての列にはそれ自身のList<>
データソースがあるので、私はセッションまたはビューの状態でそれを行うことはできません。
誰も私に内部のgridviewでそれを永続化させることができますし、ユーザーが「+」記号をクリックした後に実行時にバインドすることができますか?
<asp:GridView ID="gvMain" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField HeaderText="Lateral">
<ItemTemplate>
<asp:CheckBox ID="chkLateral" runat="server" Checked='<%# Eval("Lateral") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Types">
<ItemTemplate>
<table>
<tr>
<td>
<asp:ImageButton OnClick="imgExpandbtn_OnClick" ID="imgExpandbtn" runat="server" ImageUrl="~/Styles/Images/Plus.png" />
<asp:Label runat="server" ID="lblTypes" Text='<%# Eval("Types") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="gvInner" runat="server" AutoGenerateColumns="false">
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Active">
<ItemTemplate>
<%# (Boolean.Parse(Eval("IsActive").ToString())) ? "Y" : "N"%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
私は本当にあなたが何を求めようとしているのか分からない。 「データソースを持続させる」とはどういう意味ですか?その行のボタンがクリックされたときに、その行のプロパティに内側のgridviewをバインドする方法を知りたいだけですか? –
@Telarianええ、それは私が知る必要があるものです。 – Chat
作業をしているコードビヘイビアを投稿すると非常に役に立ちます。私はあなたがコードビハインドで "imgExpandbtn_OnClick"を処理し、それがある行のプロパティに内部グリッドビューをバインドする作業をしていることを前提としています。 –