您的位置:首页 > 其它

关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用(转载的)

2008-10-15 17:19 761 查看
关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用。

多选时,只有全部选中时“多选”才选中。

图片效果:

Code

using System;

using System.Data;

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.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Button2.Attributes["onclick"] = "return slcNo_click();";

GridViewBind("");

}

private void GridViewBind(string Sqlsort)

{

string connStr = ConfigurationManager.ConnectionStrings["ConnString1"].ConnectionString;

string SqlStr = "SELECT * FROM test01 where id<1000" + Sqlsort;

DataSet ds = new DataSet();

try

{

SqlConnection conn = new SqlConnection(connStr);

if (conn.State.ToString() == "Closed") conn.Open();

SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);

da.Fill(ds, "test01");

if (conn.State.ToString() == "Open") conn.Close();

GridView1.DataSource = ds.Tables[0].DefaultView;

GridView1.DataBind();

LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";

LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";

LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";

if (ds.Tables[0].Rows.Count == 0)

{

btnFirst.Visible = false;

btnPrev.Visible = false;

btnNext.Visible = false;

btnLast.Visible = false;

LblCurrentIndex.Visible = false;

LblPageCount.Visible = false;

LblRecordCount.Visible = false;

}

else if (GridView1.PageCount == 1)

{

btnFirst.Visible = false;

btnPrev.Visible = false;

btnNext.Visible = false;

btnLast.Visible = false;

}

// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"

btnFirst.CommandName = "1";

btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());

btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());

btnLast.CommandName = GridView1.PageCount.ToString();

//

}

catch (Exception ex)

{

Response.Write("数据库错误,错误原因:" + ex.Message);

Response.End();

}

}

protected void PagerButtonClick(object sender, EventArgs e)

{

GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;

GridViewBind("");

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

e.Row.Attributes["onmouseover"] = "ItemOver(this)";

}

protected void Button2_Click(object sender, EventArgs e)

{

string str = "";

string[] ckb = null;

str = Request.Form.Get("checkboxname");

ckb = str.Split(new char[] { ',' });

Response.Write("直接在页面中得到的值为:" + str + "<br>");

Response.Write("处理后存放在数组中,如下:<br>");

for (int i = 0; i < ckb.Length; i++)

{

Response.Write("ckb[" + i + "]的值为:" + ckb[i] + "<br>");

}

}

protected void Button1_Click(object sender, EventArgs e)

{

Response.Write(Request.Form.Get("RadioName"));

}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

{

string sql = "";

if (ViewState["SortDirection"] == null || ViewState["SortDirection"].ToString().CompareTo("") == 0)

{

ViewState["SortDirection"] = " desc";

}

else

ViewState["SortDirection"] = "";

sql = " order by " + e.SortExpression + ViewState["SortDirection"];

GridViewBind(sql);

}

}

生成数据库:

CREATE TABLE [dbo].[test01] (

[id] [decimal](18, 0) IDENTITY (1, 1) NOT NULL ,

[name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

[card] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,

[price] [decimal](18,2) NULL,

[createdate] [datetime] NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[test01] ADD

CONSTRAINT [DF_test01_createdate] DEFAULT (getdate()) FOR [createdate],

CONSTRAINT [PK_test01] PRIMARY KEY CLUSTERED

(

[id]

) ON [PRIMARY]

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐