jonney

像写情书一样写程序,像看小说一样看代码
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我的一个用GridView的动态绑定的例子

Posted on 2005-12-14 09:50  jonney  阅读(3688)  评论(0编辑  收藏  举报

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;

public partial class xmgl: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = "";
       
        if (!Page.IsPostBack)
        {
            ViewState["sortColumn"] = " ";
            ViewState["sortDirection"] = " ";
            SearchFunction();
        
        }
      
        GridView1.RowDeleting+=new GridViewDeleteEventHandler(GridView1_RowDeleting);
    }
    protected void GridView1_RowDeleting(object sender,GridViewDeleteEventArgs e)
    {
        Response.Redirect("delete.aspx?id=" + GridView1.Rows[e.RowIndex].Cells[1].Text);   
      
    }
    protected void SearchFunction()
    {
        string sql = "";
        if (TextBox1.Text != "")
        {
            sql += "and 项目代码 like '%" + TextBox1.Text + "%' ";
        }
        if (TextBox2.Text != "")
        {
            sql += "and 项目名称 like '%" + TextBox2.Text + "%' ";
        }
        if (TextBox3.Text != "")
        {
            try
            {
                sql += "and 开工时间 >='" + DateTime.Parse(TextBox3.Text) + "' ";
            }
            catch
            {
                Label1.Text = "你输入的日期格式有错误,请重新输入!";
            }
        }
        if (TextBox4.Text != "")
        {
           
            try
            {
                sql += "and 完工时间 <='" + DateTime.Parse(TextBox4.Text) + "' ";
            }
            catch
            {
                Label1.Text = "你输入的日期格式有错误,请重新输入!";
            }
        }
        if (sql.Length > 1)
        {
            sql = "SELECT * FROM 项目表 where "+ sql.Substring(3) + "order by id DESC";
        }
        else
        {
            sql = "select * from 项目表 order by id desc";
        }
        this.Session["sql"] = sql;
        using (DataSet ds = SQL.exesql(sql,"sql"))
        {
            GridView1.DataSource = ds.Tables["sql"];
            GridView1.AutoGenerateEditButton = true;
            GridView1.AutoGenerateDeleteButton = true;
            GridView1.DataBind();
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        SearchFunction();
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        string sql = this.Session["sql"].ToString()  ;
        using (DataSet ds = SQL.exesql(sql, "sql"))
        {
            GridView1.DataSource = ds.Tables["sql"];
            GridView1.AutoGenerateEditButton = true;
            GridView1.AutoGenerateDeleteButton = true;
            GridView1.DataBind();
        }

      //   SearchFunction(); 
    }


    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.EditIndex = -1;
        GridView1.PageIndex = e.NewPageIndex;
        SearchFunction();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        SearchFunction();
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridViewRow row = GridView1.Rows[e.RowIndex];
        TextBox test = (TextBox)row.Cells[1].Controls[0] as TextBox;
        TextBox test1 = (TextBox)row.Cells[2].Controls[0] as TextBox;
        TextBox test2 = (TextBox)row.Cells[3].Controls[0] as TextBox;
        TextBox test3 = (TextBox)row.Cells[4].Controls[0] as TextBox;
        TextBox test4 = (TextBox)row.Cells[5].Controls[0] as TextBox;
        string sql = "update 项目表 set  项目代码='" + test1.Text + "',项目名称='" + test2.Text + "',开工时间='" + test3.Text + "',完工时间='" + test4.Text + "'where id ='" + test.Text + "'";
        using (DataSet dr = SQL.exesql(sql, "sql"))
        {
            GridView1.EditIndex = -1;
            SearchFunction();
        }
    }
    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        GridView1.EditIndex = -1;
        if (ViewState["sortColumn"].ToString() == e.SortExpression.ToString())
        {
            if ("ASC" == ViewState["sortDirection"].ToString())
            {
                ViewState["sortDirection"] = "DESC";
            }
            else
            {
                ViewState["sortDirection"] = "ASC";
            }
        }
        else
        {
            ViewState["sortColumn"] = e.SortExpression.ToString();
            ViewState["sortDirection"] = "ASC";
        }

        string sql = "";
        if (TextBox1.Text != "")
        {
            sql += "and 项目代码 like '%" + TextBox1.Text + "%' ";
        }
        if (TextBox2.Text != "")
        {
            sql += "and 项目名称 like '%" + TextBox2.Text + "%' ";
        }
        if (TextBox3.Text != "")
        {
            sql += "and 开工时间 >='" + DateTime.Parse(TextBox3.Text) + "' ";
        }
        if (TextBox3.Text != "")
        {
            sql += "and 完工时间 <='" + DateTime.Parse(TextBox4.Text) + "' ";
        }
        if (sql.Length > 1)
        {
            sql = "SELECT * FROM 项目表 "+ sql.Substring(3) ;
        }
        else
        {
            sql = "select * from 项目表 ";
        }

        sql += " order by " + ViewState["sortColumn"].ToString() + " " + ViewState["sortDirection"].ToString();

        this.Session["sql"] = sql;
        using (DataSet dr = SQL.exesql(sql, "sql"))
        {
            GridView1.DataSource = dr.Tables["sql"];
            GridView1.AutoGenerateEditButton = true;
            GridView1.AutoGenerateDeleteButton = true;
            GridView1.DataBind();
        }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {

    }
}