ImageButtonを持つGridviewがあります。ImageButtonは選択された行だけに表示されるはずです。私はOnRowDataBoundイベントでこれをやっていますが、動作しません。RowDataBoundが私の予想通りに動作しない
protected void OnRowDataBoundMS(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) > 0)
{
// some working code that handles the edit mode
}
else if (Gridview1.SelectedValue != null)
{
ImageButton ImgBut1 = e.Row.FindControl("ButtonUp") as ImageButton;
ImgBut1.Visible = true;
}
}
}
私のGridViewには次のようになります。
<asp:GridView runat="server"
ID="Gridview1"
DataSourceID="Milestones"
DataKeyNames="ID"
AutoGenerateColumns="false"
OnRowEditing="OnRowEditing"
OnRowDataBound="OnRowDataBoundMS"
OnSelectedIndexChanged="OnSelectedIndexChangedMS">
...
<asp:templatefield HeaderText="Order" ItemStyle-HorizontalAlign="center">
<ItemTemplate>
<asp:ImageButton ID="ButtonUp" runat="server" OnClick ="OrderUp" ImageUrl="img/up.png" Visible="false"/>
</ItemTemplate>
</asp:templatefield>
私はこの上で、最後の3時間を過ごし、私が陥る始めます。これに関するヒント?マーティン
'SelectedIndexChanged'で行う方が私の答えよりも効率的です。しかし、私はあなたの答えを編集することを提案したいと思います(私の編集はあなたの承認なしに適用されるかもしれません)。 – ConnorsFan
編集内容がバージョン管理されていますので、オリジナルを表示して編集することができますので、編集してください: –
選択したインデックスより前のRowDataBoundの起動について疑問を持っていただきありがとうございます。 – Barnabeck