GridView删除,编辑应用

using TestWeb.HR.BusinessLogicLayer;
using TestWeb.HR.DataAccessLayer;
public partial class HR_CompanyView : System.Web.UI.UserControl
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!this.IsPostBack)
        
{
            GetAllCompanies(); 
//初试加载所有公司
        }

}

    
/// <summary>
    
/// 返回所有公司
    
/// </summary>

    private void GetAllCompanies()
    
{
        
try
        
{
            List
<Company> companyList = new List<Company>();
            companyList 
= Company.GetAllCompanies();
            
if (companyList != null)
            
{
                
this.GridView1.DataSource = companyList;
                
this.GridView1.DataBind();
            }

        }

        
catch (Exception ex)
        
{
            ShowMessage.ErrorMessage(
this.Page, ex.Message);
        }

    }

    
/// <summary>
    
/// 编辑公司
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    
{
        
this.GridView1.EditIndex = e.NewEditIndex;
        GetAllCompanies();
    }

    
/// <summary>
    
/// 取消编辑
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    
{
        
this.GridView1.EditIndex = -1;
        GetAllCompanies();
    }

    
/// <summary>
    
/// 更新公司
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    
{
        GridViewRow uprow 
= this.GridView1.Rows[e.RowIndex];
        TextBox text1 
= (TextBox)uprow.Cells[0].FindControl("TextBox1");
        TextBox text2 
= (TextBox)uprow.Cells[0].FindControl("TextBox2");
        TextBox text3 
= (TextBox)uprow.Cells[0].FindControl("TextBox3");
        HyperLink hlk 
= (HyperLink)uprow.Cells[0].FindControl("HyperLink1");
        
int companyId = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value);
        
//直接调用存储过程进行更新
        string connectionstring = ConfigurationManager.ConnectionStrings["TESTDB_Database_Connection"].ConnectionString;
        SqlCommand upcmd 
= new SqlCommand();
        upcmd.CommandType 
= CommandType.StoredProcedure;
        upcmd.CommandText 
= "UPCompany";
        upcmd.Parameters.Add(
"@CompanyName", SqlDbType.VarChar, 50);
        upcmd.Parameters[
"@CompanyName"].Value = text1.Text.Trim();
        upcmd.Parameters.Add(
"@Phone", SqlDbType.VarChar, 50);
        upcmd.Parameters[
"@Phone"].Value = text2.Text.Trim();
        upcmd.Parameters.Add(
"@Fax", SqlDbType.VarChar, 50);
        upcmd.Parameters[
"@Fax"].Value = text3.Text.Trim();
        upcmd.Parameters.Add(
"@WebSite", SqlDbType.VarChar, 50);
        upcmd.Parameters[
"@WebSite"].Value = hlk.Text.Trim();
        upcmd.Parameters.Add(
"@CompanyId", SqlDbType.Int, 4);
        upcmd.Parameters[
"@CompanyId"].Value = companyId;
        SqlConnection con 
= new SqlConnection(connectionstring);
        upcmd.Connection 
= con;
        con.Open();
        upcmd.ExecuteNonQuery();
        con.Close();

        
this.GridView1.EditIndex = -1;
        GetAllCompanies();
    }

    
/// <summary>
    
/// 删除公司
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    
{
        
int companyId = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value);
        
string connectionstring = ConfigurationManager.ConnectionStrings["TESTDB_Database_Connection"].ConnectionString;
        SqlCommand delcmd 
= new SqlCommand();
        delcmd.CommandType 
= CommandType.StoredProcedure;
        delcmd.CommandText 
= "HR_DeleteCompanyByCompanyId";
        delcmd.Parameters.Add(
"@CompanyId", SqlDbType.Int, 4);
        delcmd.Parameters[
"@CompanyId"].Value = companyId;
        SqlConnection _Con 
= new SqlConnection(connectionstring);
        delcmd.Connection 
= _Con;
        _Con.Open();
        delcmd.ExecuteNonQuery();
        _Con.Close();
        GetAllCompanies();
    }

    
/// <summary>
    
/// 允许分页
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    
{
        
this.GridView1.PageIndex = e.NewPageIndex;
        GetAllCompanies();
    }

    
/// <summary>
    
/// 焦点行颜色变化
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType == DataControlRowType.DataRow)
        
{
            
//当鼠标放上去的时候 先保存当前行的背景颜色 并给附一颜色 
            e.Row.Attributes.Add("onmouseover""currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeight='';");
            
//当鼠标离开的时候 将背景颜色还原的以前的颜色 
            e.Row.Attributes.Add("onmouseout""this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
        }

        
//单击行改变行背景颜色 
        if (e.Row.RowType == DataControlRowType.DataRow)
        
{
            e.Row.Attributes.Add(
"onclick""this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");
        }

    }

    
/// <summary>
    
/// 根据ID获取公司详细信息
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void Button1_Click(object sender, EventArgs e)
    
{
        Response.Redirect(
"~/CompanyDetails.aspx");
    }
 
}
posted @ 2008-03-07 12:41  scgw  阅读(285)  评论(0编辑  收藏  举报