代码改变世界

GirdView实践1

2010-01-23 19:07  三皮开发时  阅读(155)  评论(0)    收藏  举报

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

public partial class GridViewStudy : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bind();
 
        }

    }

    public SqlConnection GetSqlConnect()
    {
        string strConnect = ConfigurationManager.ConnectionStrings["ConnectString"].ConnectionString;
        SqlConnection myConnect = new SqlConnection(strConnect);
        return myConnect;
    }

    public void Bind()
    {
        SqlConnection myConnect = GetSqlConnect();
        string strCom = "select * from tb_Student";
        SqlDataAdapter myDataAdapter = new SqlDataAdapter(strCom, myConnect);
        DataSet myDataSet = new DataSet();
        myDataAdapter.Fill(myDataSet);
        GridView1.DataSource = myDataSet;
        GridView1.DataBind();
        GridView1.DataKeyNames = new string[] { "ID" };
        myConnect.Dispose();
        myDataAdapter.Dispose();
        myDataSet.Dispose();
      
    }

    //编辑
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        Bind();

    }

    //更新
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
       
        SqlConnection myConnection=GetSqlConnect();
        myConnection.Open();
        SqlCommand myCommand = new SqlCommand("update tb_Student set Name='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.Trim() + "',PWD='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.Trim() + "',Sex='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.Trim() + "',JoinTime='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.Trim() + "',question='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.Trim() + "',answer='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.Trim() + "',profession='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.Trim() + "' where ID='"+GridView1.DataKeys[e.RowIndex].Value +"'",myConnection);
        myCommand.ExecuteNonQuery();
        myConnection.Dispose();
        GridView1.EditIndex = -1;
        Bind();
      

    }

    //取消
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        Bind();

    }
    //删除
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        SqlConnection myConnection = GetSqlConnect();
        myConnection.Open();
        Bind();
        SqlCommand myCommand = new SqlCommand("delete tb_Student where ID='"+GridView1.DataKeys[e.RowIndex].Value+"'",myConnection);
        myCommand.ExecuteNonQuery();
        myConnection.Close();
        GridView1.EditIndex = -1;
        Bind();

       
    }

 


    //绑定发生的事件,加JS
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        //if (e.Row.RowType == DataControlRowType.DataRow)
        //{
        //    if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
        //    {
        //        //删除弹出框运用--Controls[2]是因为在该列中的第三段上,第一段为:编辑,第二段为空白,第三段。。
        //        ((LinkButton)e.Row.Cells[0].Controls[2]).Attributes.Add("onclick", "javascript:return confirm('你确定要删除:" + e.Row.Cells[2].Text + "吗?" + "')");
        //    }
        //}

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           
                //删除弹出框运用--Controls[2]是因为在该列中的第三段上,第一段为:编辑,第二段为空白,第三段。。
                ((LinkButton)e.Row.Cells[0].Controls[2]).Attributes.Add("onclick", "return confirm('你确定要删除:" + e.Row.Cells[2].Text + "吗?" + "')");
           
        }


        int i;
        //循环
        for (i = 0; i < GridView1.Rows.Count; i++)
        {

            //如果是行的话
            if (e.Row.RowType == DataControlRowType.DataRow)
            {

            
                //鼠标放上面去的JS
                //先保留原本背景色赋给c.
                //((LinkButton)e.Row.Cells[0].Controls[2]).Attributes.Add("onclick", "return confirm('确定要删除" + e.Row.Cells[2].Text + "吗?')");
                e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
                //鼠标移开的JS
                e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
            }
        }

 


    }
}