none
.net 求gridview用法 RRS feed

  • 问题

  • 我在gridview里面添加一个删除列   如何才能触发那个删除列的事件  实现删除操作 

    • 已移动 孟宪会Moderator 2009年10月16日 0:40 (发件人:.NET Framework 一般性问题讨论区)
    2009年10月15日 15:27

答案

  • <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="id" DataSourceID="SqlDataSource1" 
                onrowcommand="GridView1_RowCommand">
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                        ReadOnly="True" SortExpression="id" />
                    <asp:BoundField DataField="pid" HeaderText="pid" SortExpression="pid" />
                    <asp:BoundField DataField="imagename" HeaderText="imagename" 
                        SortExpression="imagename" />
                    <asp:BoundField DataField="dtime" HeaderText="dtime" SortExpression="dtime" />
                    <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
                    <asp:BoundField DataField="albumcontent" HeaderText="albumcontent" 
                        SortExpression="albumcontent" />
                    <asp:TemplateField HeaderText="11"><ItemTemplate>
                    
                        <asp:Button ID="Button2" runat="server" CommandName="dd" Text="Button" />
                    </ItemTemplate></asp:TemplateField>
                </Columns>
            </asp:GridView>

    后台cs
       protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "dd")
                {
                    GridView1.Columns[0].Visible = false; //操作删除 不知道你需求删除什么
                }
            }

    • 已标记为答案 StaticYu 2009年10月17日 4:56
    2009年10月15日 16:33

全部回复

  • 你好!
         可以参考这个实现:
         http://www.cnblogs.com/FreeHorse/archive/2008/11/15/536271.html
         希望对你有帮助!
    周雪峰
    2009年10月15日 16:27
    版主
  • <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                DataKeyNames="id" DataSourceID="SqlDataSource1" 
                onrowcommand="GridView1_RowCommand">
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                        ReadOnly="True" SortExpression="id" />
                    <asp:BoundField DataField="pid" HeaderText="pid" SortExpression="pid" />
                    <asp:BoundField DataField="imagename" HeaderText="imagename" 
                        SortExpression="imagename" />
                    <asp:BoundField DataField="dtime" HeaderText="dtime" SortExpression="dtime" />
                    <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
                    <asp:BoundField DataField="albumcontent" HeaderText="albumcontent" 
                        SortExpression="albumcontent" />
                    <asp:TemplateField HeaderText="11"><ItemTemplate>
                    
                        <asp:Button ID="Button2" runat="server" CommandName="dd" Text="Button" />
                    </ItemTemplate></asp:TemplateField>
                </Columns>
            </asp:GridView>

    后台cs
       protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "dd")
                {
                    GridView1.Columns[0].Visible = false; //操作删除 不知道你需求删除什么
                }
            }

    • 已标记为答案 StaticYu 2009年10月17日 4:56
    2009年10月15日 16:33
  • 没测试过,不知道行不行  

    <asp:GridView ID="gvCompany" runat="server" AutoGenerateColumns="False"
                CellPadding="4" ForeColor="#333333" GridLines="None" CssClass="Style1" 
                DataKeyNames="COMPANY_UPDATE_DATE">
                <RowStyle BackColor="#EFF3FB" />
                <Columns>
                    .........................................

                    <asp:TemplateField HeaderText="DELETE" >
                     <ItemTemplate >
                                <asp:Button ID="btDelete" runat="server" Text="Delete" CssClass="Style1" Width="60px"  onclick="btDelete_Click"  />             
                        </ItemTemplate>
                    </asp:TemplateField>

                </Columns>
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <EditRowStyle BackColor="#2461BF" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>

    后台:
        #region Delete押下処理
        /// <summary>
        /// Delete押下処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btDelete_Click(object sender, EventArgs e)
        {
            Button btDeleteTemp = (Button)sender;

            // 取到选中的行
            GridViewRow gvrSelect = (GridViewRow)btDeleteTemp.NamingContainer;

            // 删除选中行
            gvCompany.DeleteRow(gvrSelect.RowIndex);
         }
        #endregion

    2009年10月16日 6:39