asp.net之datagrid动态添加删除行

时间:2009-03-04    点击:2441   

 enableViewState="true"

前台页面

   <asp:datagrid id="djDataGrid" runat="server" Height="20px" Width="100%" AutoGenerateColumns="False" BorderWidth="0px" CellSpacing="0" CellPadding="0"
                   ShowFooter="false" ItemStyle-HorizontalAlign="Center" OnEditCommand="djDataGrid_EditCommand" OnItemDataBound="djDataGrid_ItemDataBound" OnDeleteCommand="djDataGrid_DeleteCommand">
       
      <HeaderStyle/>
      <ItemStyle/>
     
       <Columns>
          
           <asp:ButtonColumn HeaderText="" Text=" + " ButtonType="PushButton" CommandName="Edit"></asp:ButtonColumn>
       
        <asp:TemplateColumn HeaderText="乘客姓名" HeaderStyle-HorizontalAlign="Center">
         <ItemTemplate>
         <asp:TextBox runat="server" ID="Xingming" Columns="8" Text='<%# DataBinder.Eval(Container, "DataItem.xingming") %>'></asp:TextBox>
         </ItemTemplate>
        </asp:TemplateColumn>
        
        <asp:TemplateColumn  HeaderText="乘客类型" HeaderStyle-HorizontalAlign="Center">
         <ItemTemplate>
          <asp:DropDownList ID="Lixing" runat="server">
                 <asp:ListItem Value="成人">成人</asp:ListItem>
                  <asp:ListItem Value="儿童">儿童</asp:ListItem>
                </asp:DropDownList>
         </ItemTemplate>
         
        </asp:TemplateColumn>
           

        <asp:TemplateColumn  HeaderText="折扣" HeaderStyle-HorizontalAlign="Center">
         <ItemTemplate>
                  <asp:TextBox runat="server" ID="Discount" Columns="3" Text='<%# DataBinder.Eval(Container, "DataItem.discount") %>'></asp:TextBox>
         </ItemTemplate>
         
        </asp:TemplateColumn>
        
             
       </Columns>
       
      </asp:datagrid>      

后台程序:

         if (!IsPostBack)
        {
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("", typeof(System.String)));
            dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
            dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
            dt.Columns.Add(new DataColumn("discount", typeof(System.String)));

            for (int i = 0; i < 5; i++)
            {
                DataRow dr1 = dt.NewRow();
                dr1[0] = "";
                dr1[1] = "";
                dr1[2] = "";
                dr1[3] = "";
                dt.Rows.Add(dr1);
            }

            djDataGrid.DataSource = dt;
            djDataGrid.DataBind();

        }

    protected void djDataGrid_EditCommand(object source, DataGridCommandEventArgs e)
    {

        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn("", typeof(System.String)));
        dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
        dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
        dt.Columns.Add(new DataColumn("discount", typeof(System.String)));


        for (int i = 0; i < djDataGrid.Items.Count; i++)
        {
            DataRow dr = dt.NewRow();

            dr[0] = "";
            dr[1] = ((TextBox)djDataGrid.Items[i].FindControl("Xingming")).Text;
            dr[2] = ((DropDownList)djDataGrid.Items[i].FindControl("Lixing")).SelectedValue;
            dr[3] = ((TextBox)djDataGrid.Items[i].FindControl("Discount")).Text;

            dt.Rows.Add(dr);

        }

        DataRow dr1 = dt.NewRow();
        dr1[0] = "";
        dr1[1] = "";
        dr1[2] = "";
        dr1[3] = "";

        dt.Rows.Add(dr1);

        djDataGrid.DataSource = dt;
        djDataGrid.DataBind();

    }

 


    protected void djDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
    {

        if (e.Item.ItemIndex >= 1)
        {

            Button bt = (Button)e.Item.Cells[0].Controls[0];

            bt.Text = " - ";

            bt.CommandName = "Delete";

        }

    }

 

    protected void djDataGrid_DeleteCommand(object source, DataGridCommandEventArgs e)
    {

        if ("Delete" == e.CommandName)
        {

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("", typeof(System.String)));
            dt.Columns.Add(new DataColumn("xingming", typeof(System.String)));
            dt.Columns.Add(new DataColumn("lingxing", typeof(System.String)));
            dt.Columns.Add(new DataColumn("discount", typeof(System.String)));


            for (int i = 0; i < djDataGrid.Items.Count; i++)
            {
                DataRow dr = dt.NewRow();

                dr[0] = "";
                dr[1] = ((TextBox)djDataGrid.Items[i].FindControl("Xingming")).Text;
                dr[2] = ((DropDownList)djDataGrid.Items[i].FindControl("Lixing")).SelectedValue;
                dr[3] = ((TextBox)djDataGrid.Items[i].FindControl("Discount")).Text;

                dt.Rows.Add(dr);

            }
            dt.Rows.RemoveAt(e.Item.ItemIndex);

            djDataGrid.DataSource = dt;
            djDataGrid.DataBind();

        }

    }

JavaScript容错脚本
网页载入页面,显示进度条
鼠标拖动改变表格的宽度
asp.net 操作文件夹
asp.net生成文件,如.html.txt等
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 All Rights Reserved