質問

私の質問は、ASP.NET GridViewコントロールに関するものです。以下に示すように、ColumnsタグでCommandFieldを使用しています。

<asp:CommandField ShowEditButton="True" HeaderStyle-Width="40px" UpdateText="Save" ButtonType="Link" HeaderStyle-Wrap="true" ItemStyle-Wrap="true" ItemStyle-Width="40px"/>

レンダリングされるのは、次の画像に示すとおりです([編集]ボタンをクリックした後)。

 alt text

ご覧のように、 [キャンセル]リンクに新しい行を表示しようとしていますが、どうすればよいでしょうか。 ButtonType =&quot; Link&quot;を変更した場合から ButtonType =&quot; Button&quot; に変更すると、次のように正しくレンダリングされます。

代替テキストhttp://i38.tinypic.com/2pqopxi.jpg

すでにGoogleを試しましたが、適切なタグを検索していないのかもしれませんが、以前に対処したタグが表示されませんでした。

役に立ちましたか?

解決

テンプレートフィールドを使用すると、ページの外観を完全に制御できますが、CommandNameプロパティと可能性のあるCommandArgumentプロパティを使用し、GridViewのOnRowCommandも使用する必要があります。

aspxページ:

<asp:GridView id="gvGrid" runat="server" OnRowCommand="gvGrid_Command">
 <Columns>
  <asp:TemplateField>
   <ItemTemplate>
    Some Stuff random content
    <br />
    <asp:LinkButton id="lbDoIt" runat="server" CommandName="Cancel"  CommandArgument="SomeIdentifierIfNecessary" />
   </ItemTemplate>
  </asp:TemplateField>
 </Columns>
</asp:GridView>

背後のコード:

protected void gvGrid_Command(object sender, GridViewCommandEventArgs e)
{
 if(e.CommandName=="Cancel")
 {
   // Do your cancel stuff here.
 }

}

他のヒント

コマンドフィールドを使用しないで、 TemplateField にコマンドボタンを配置し、必要に応じてその前に改行(br)を付けます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top