0

これは、ASP.NET C# プロジェクトでグリッド ビューを作成する方法です。このグリッドには 4 つの列があります。5 番目の列を追加し、すべての行にボタンを追加したいと考えています。これどうやってするの ?

<asp:GridView ID="gv" runat="server"  CellPadding="1" Width="900px"/>
4

2 に答える 2

0
  1. AutoGenerateColumns="False"gridview マークアップで設定
  2. 列を次のように定義しますBoundField(またはTemplateField必要に応じて)
  3. TemplateField最後の列のボタンにa を追加します

まとめ:

<asp:GridView runat="server" ID="gv" AutoGenerateColumns="False" CellPadding="1" Width="900px">
    <Columns>
        <%-- <asp:BoundField /> Definitions here --%>
        ...
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Button Text="Click ME" runat="server" ID="btn" OnClick="Clicked" />        
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
于 2013-05-21T08:43:31.303 に答える
-1

col1、col2、col3、col4などの4つの列を持つデータテーブルをバインドしているとします

次に、.aspx のグリッド ビューは次のようになります。

<asp:GridView runat="server" ID="gv" AutoGenerateColumns="False" CellPadding="1"                 Width="900px" OnRowCommand="gv_RowCommand">
<Columns>
    <asp:TemplateField HeaderText="col1">
        <ItemTemplate>
            <%#Eval("col1")%>// "col1" is field of your database
        </ItemTemplate>
    </asp:TemplateField>  

    <asp:TemplateField HeaderText="col2">
        <ItemTemplate>
            <%#Eval("col2")%>
        </ItemTemplate>
    </asp:TemplateField> 

    <asp:TemplateField HeaderText="col3">
        <ItemTemplate>
            <%#Eval("col3")%>
        </ItemTemplate>
    </asp:TemplateField>                     

    <asp:TemplateField HeaderText="col4">
        <ItemTemplate>
            <%#Eval("col4")%>
        </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField>
        <ItemTemplate>
            <asp:Button ID="btnOK" runat="server" Text="OK"  CommandName="show"  />   
        </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>

* .cs ページになります *

protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName.ToLower() == "show")
  {
    //your code on click event 
  }
}
于 2013-05-21T09:28:32.680 に答える