yxl's profile大路朝前走PhotosBlogListsMore Tools Help

Blog


    July 27

    DetailsView的更新 和 GridView的操作

    /////////////////////////////////////////    DetailsView的更新 ///////////////////////////////////////////////////////////////
    protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            string TableId = url;
            string TableName = tbName;
            string M_MonthCount;
            string M_MessageCount;
            string M_remark;
            string SqlUpdate;
            TextBox tb;
            tb = (TextBox)(DetailsView1.Rows[1].FindControl("TextBox2"));
            M_MonthCount = tb.Text;
            tb = (TextBox)(DetailsView1.Rows[2].FindControl("TextBox3"));
            M_MessageCount = tb.Text;
            tb = (TextBox)(DetailsView1.Rows[3].FindControl("TextBox4"));
            M_remark = tb.Text;
            SqlUpdate = "UPDATE " + TableName + " SET M_MonthCount = '" + M_MonthCount + "',M_MessageCount = '" + M_MessageCount + "', M_remark = '" + M_remark + "' WHERE M_id = '" + TableId + "'";
            SqlConnection con = DB.CreateSqlCon();
            con.Open();
            SqlCommand cmd = new SqlCommand(SqlUpdate,con);
            cmd.ExecuteNonQuery();
            con.Close();
     
    ////////////////////////////////////////设置DetailsView默认模式为编辑模式////////////////////////////////////////////////////
     
     
    <asp:DetailsView ID="DetailsView1" runat="server" Height="55px" Width="370px" AutoGenerateRows="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnItemUpdating="DetailsView1_ItemUpdating" DefaultMode="edit">    
            <Fields>
                <asp:TemplateField HeaderText="公司名称">
                    <EditItemTemplate>
                         <asp:TextBox ID="TextBox1" runat="server" Width="200px" ReadOnly="True" Text='<%# Bind("M_name") %>'></asp:TextBox>
                    </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="总条数">
                    <EditItemTemplate>
                         <asp:TextBox ID="TextBox2" runat="server" Width="200px" Text='<%# Bind("M_MonthCount") %>'></asp:TextBox>
                    </EditItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="当前发送">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox3" Width="200px" runat="server" Text='<%# Bind("M_MessageCount") %>'></asp:TextBox>
                    </EditItemTemplate>                        
                </asp:TemplateField>
                <asp:TemplateField HeaderText="备注">           
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox4" runat="server" Height="121px" Text='<%# Bind("M_remark") %>'
                            TextMode="MultiLine" Width="200px"></asp:TextBox>               
                    </EditItemTemplate>
                </asp:TemplateField>
                <asp:ButtonField ButtonType="Button" CommandName="Update" Text="按钮">
                    <HeaderStyle HorizontalAlign="Center" />
                </asp:ButtonField>
            </Fields>
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
            <EditRowStyle BackColor="#2461BF" />
            <RowStyle BackColor="#EFF3FB" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
            </asp:DetailsView>       
     
     
    ////////////////////////////////////////////////GridView的操作///////////////////////////////////////////////////////////////////////
     
    /*************取消编辑***************/   
     
     protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            DataGridViewBind1();
        }
    /*******************编辑***********************/
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            DataGridViewBind1();
        }
     
    /*********************更新操作******************************/
        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string UpdataCmd = "update " + SqlDataTime + " set M_MonthCount='"
                + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',M_MessageCount='"
                + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',M_remark='"
                + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where M_id='"
                + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";

            SqlConnection con = DB.CreateSqlCon();
            SqlCommand cmd = new SqlCommand(UpdataCmd, con);
            con.Open();
            cmd.ExecuteNonQuery();
            GridView1.EditIndex = -1;
            DataGridViewBind1();
            con.Close();
        }