1つの列が画像であるいくつかの列を持つグリッドを持っています。その画像をクリックすると、その行が非表示になります。
ここで最後の列をクリックすると、行を非表示にする必要があります。
どうすればできるようになりますか
1つの列が画像であるいくつかの列を持つグリッドを持っています。その画像をクリックすると、その行が非表示になります。
ここで最後の列をクリックすると、行を非表示にする必要があります。
どうすればできるようになりますか
画像セルのクリック イベントのイベント ハンドラーを記述します。そのイベントの送信者は画像セルになります。送信者を取得してセルにキャストし直し、そのセル (行になる) の親を取得して、親行の Visible プロパティを false に設定できます。
これらのいくつかの手順が役立ちます。
このようなもの。
<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="False" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton runat="server" id="gvibtn"
CommandName="HideRow"
CommandArgument='<%# Container.DisplayIndex %>'
Text='<%# Bind("Text") %>'>
</asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
コードビハインドは次のようになります。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName == "HideRow")
{
int rowIndex = Convert.ToInt32(e.CommandArgument);
// now you got the rowindex, run your hiding logic here.
}
}