📄 class1.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace MyClass
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public static DataBaseTool.ClassBase.AllDataBase theAllDataBase=new DataBaseTool.ClassBase.AllDataBase();
// public System.Web.HttpRequest req = System.Web.HttpContext.Current.Request;
public static DataTable dt;
//
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static void Initialize_DataGrid(DataGrid dg,string sql)
{
theAllDataBase.SqlOpen();
theAllDataBase.SqlCommondText=sql;
dg.AllowSorting=true;
dt=theAllDataBase.SqlGetDataTable();
dg.DataSource=theAllDataBase.SqlGetDataTable();
dg.DataBind();
}
// public void Initialize_DataGrid(DataGrid dg,string sql,DataBaseTool.ClassBase.AllDataBase _theAllDataBase)
// {
// _theAllDataBase.SqlOpen();
// _theAllDataBase.SqlCommondText=sql;
//
// dg.AllowSorting=true;
// dg.DataSource=_theAllDataBase.SqlGetDataTable();
// dg.DataBind();
// }
//
public static void MutilSortColumn(DataGrid dg,string str_sort)
{
DataView dv=new DataView(dt);
dv.Sort=str_sort;
dg.AllowSorting=true;
dg.DataSource=dv;
dg.DataBind();
}
public static void DoubleSortColumn(DataGrid dg,DataGridSortCommandEventArgs e)
{
string SortExpression=e.SortExpression.ToString();
string SortDirection="ASC"; //为排序方向变量赋初值
if(SortExpression==dg.Attributes["SortExpression"]) //如果为当前排序列
{
SortDirection=(dg.Attributes["SortDirection"].ToString()==SortDirection?"DESC":"ASC"); //获得下一次的排序状态
}
dg.Attributes["SortExpression"]=SortExpression;
dg.Attributes["SortDirection"]=SortDirection;
string str_sort=dg.Attributes["SortExpression"]+" "+dg.Attributes["SortDirection"];
DataView dv=new DataView(dt);
dv.Sort=str_sort;
dg.AllowSorting=true;
dg.DataSource=dv;
dg.DataBind();
}
public static void DataGrid_Fengye(DataGrid dg,Label lb1,Label lb2,string sql,DataGridSortCommandEventArgs e)
{
if(dt==null)
{
theAllDataBase.SqlOpen();
theAllDataBase.SqlCommondText=sql;
dt=theAllDataBase.SqlGetDataTable();
}
DataView dataview = new DataView();
dataview = dt.DefaultView;
// dataview.Sort=str_sort;
System.Web.HttpRequest req = System.Web.HttpContext.Current.Request;
string cPage;
int pageSize = 10;
int currentPage;
int pageCount;
int numResults = 0;
if (req.QueryString["page"]==null)
{
cPage="1";
}
else
{
cPage=req.QueryString["page"].ToString();
}
try
{
currentPage = Int32.Parse(cPage);
}
catch
{
currentPage = 1;
}
numResults = 0;
int start = (int)((currentPage - 1) * pageSize);
int to = (int)(currentPage * pageSize);
if (start <= 0) start = 0;
numResults = dataview.Count;
int a1=0;
pageCount = Math.DivRem(numResults,pageSize,out a1);
if (a1>0)
{
pageCount++;
}
if(currentPage>pageCount || currentPage<=0)
{
currentPage = 1;
}
if(currentPage==pageCount)
{
to = dataview.Count;
}
// Create one DataTable with one column.
DataTable myTable = new DataTable("myTable");
myTable = dataview.Table.Clone();
//DataColumn colItem1 = new DataColumn("name",Type.GetType("System.String"));
//DataColumn colItem2 = new DataColumn("types",Type.GetType("System.String"));
//DataColumn colItem3 = new DataColumn("vendor",Type.GetType("System.String"));
//myTable.Columns.Add(colItem1);
//myTable.Columns.Add(colItem2);
//myTable.Columns.Add(colItem3);
//add row
DataRow NewRow;
for(int i=start;i<numResults;i++)
{
if(i<to)
{
NewRow = myTable.NewRow();
for(int k=0;k<dataview.Table.Columns.Count;k++)
{
NewRow[k] = dataview.Table.Rows[i][k];
}
myTable.Rows.Add(NewRow);
}
}
myTable.AcceptChanges();
DataView resultDataview = new DataView(myTable);
dg.AllowSorting=true;
string SortExpression=e.SortExpression.ToString();
string SortDirection="ASC"; //为排序方向变量赋初值
if(SortExpression==dg.Attributes["SortExpression"]) //如果为当前排序列
{
SortDirection=(dg.Attributes["SortDirection"].ToString()==SortDirection?"DESC":"ASC"); //获得下一次的排序状态
}
dg.Attributes["SortExpression"]=SortExpression;
dg.Attributes["SortDirection"]=SortDirection;
string str_sort=dg.Attributes["SortExpression"]+" "+dg.Attributes["SortDirection"];
DataView dv=new DataView(dt);
dv.Sort=str_sort;
dg.AllowSorting=true;
resultDataview.Sort=str_sort;
dg.DataSource = resultDataview;
dg.DataBind();
/// <summary>
/// 生成页导航条。
/// </summary>
string strNav = "";
int endpage;
if (currentPage>1)
{
strNav += "<a href='?page="+ (currentPage-1).ToString() +"'>上一页</a> ";
}
if (currentPage>11)
{
strNav += "<a href='?page=1'>1</a> ...";
}
if(pageCount>currentPage+10)
{
endpage = currentPage+10;
}
else
{
endpage = pageCount;
}
for (int i=currentPage-10;i<endpage+1;i++)
{
if(i>=1)
{
if (i==currentPage)
{
strNav +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> ";
}
else
{
strNav += "<a href='?page="+ i.ToString() +"'>"+ i.ToString() +"</a> ";
}
}
}
if((currentPage+10)<pageCount)
{
strNav += "... <a href='?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>";
}
if(currentPage<pageCount)
{
strNav += " <a href='?page="+ (currentPage+1).ToString() +"'>下一页</a> ";
}
lb1.Text = strNav;
lb2.Text = "共 "+ numResults.ToString() +" 条供应信息,当前显示第 "+
(start+1).ToString() +" - "+ to.ToString() +" 条,共 "+ pageCount.ToString() +" 页";
}
public static void DataGrid_Fengye(DataGrid dg,Label lb1,Label lb2,string sql,string str_sort)
{
if(dt==null)
{
theAllDataBase.SqlOpen();
theAllDataBase.SqlCommondText=sql;
dt=theAllDataBase.SqlGetDataTable();
}
DataView dataview = new DataView();
dataview = dt.DefaultView;
// dataview.Sort=str_sort;
System.Web.HttpRequest req = System.Web.HttpContext.Current.Request;
string cPage;
int pageSize = 10;
int currentPage;
int pageCount;
int numResults = 0;
if (req.QueryString["page"]==null)
{
cPage="1";
}
else
{
cPage=req.QueryString["page"].ToString();
}
try
{
currentPage = Int32.Parse(cPage);
}
catch
{
currentPage = 1;
}
numResults = 0;
int start = (int)((currentPage - 1) * pageSize);
int to = (int)(currentPage * pageSize);
if (start <= 0) start = 0;
numResults = dataview.Count;
int a1=0;
pageCount = Math.DivRem(numResults,pageSize,out a1);
if (a1>0)
{
pageCount++;
}
if(currentPage>pageCount || currentPage<=0)
{
currentPage = 1;
}
if(currentPage==pageCount)
{
to = dataview.Count;
}
// Create one DataTable with one column.
DataTable myTable = new DataTable("myTable");
myTable = dataview.Table.Clone();
//DataColumn colItem1 = new DataColumn("name",Type.GetType("System.String"));
//DataColumn colItem2 = new DataColumn("types",Type.GetType("System.String"));
//DataColumn colItem3 = new DataColumn("vendor",Type.GetType("System.String"));
//myTable.Columns.Add(colItem1);
//myTable.Columns.Add(colItem2);
//myTable.Columns.Add(colItem3);
//add row
DataRow NewRow;
for(int i=start;i<numResults;i++)
{
if(i<to)
{
NewRow = myTable.NewRow();
for(int k=0;k<dataview.Table.Columns.Count;k++)
{
NewRow[k] = dataview.Table.Rows[i][k];
}
myTable.Rows.Add(NewRow);
}
}
myTable.AcceptChanges();
DataView resultDataview = new DataView(myTable);
dg.AllowSorting=true;
resultDataview.Sort=str_sort;
dg.DataSource = resultDataview;
dg.DataBind();
/// <summary>
/// 生成页导航条。
/// </summary>
string strNav = "";
int endpage;
if (currentPage>1)
{
strNav += "<a href='?page="+ (currentPage-1).ToString() +"'>上一页</a> ";
}
if (currentPage>11)
{
strNav += "<a href='?page=1'>1</a> ...";
}
if(pageCount>currentPage+10)
{
endpage = currentPage+10;
}
else
{
endpage = pageCount;
}
for (int i=currentPage-10;i<endpage+1;i++)
{
if(i>=1)
{
if (i==currentPage)
{
strNav +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> ";
}
else
{
strNav += "<a href='?page="+ i.ToString() +"'>"+ i.ToString() +"</a> ";
}
}
}
if((currentPage+10)<pageCount)
{
strNav += "... <a href='?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>";
}
if(currentPage<pageCount)
{
strNav += " <a href='?page="+ (currentPage+1).ToString() +"'>下一页</a> ";
}
lb1.Text = strNav;
lb2.Text = "共 "+ numResults.ToString() +" 条供应信息,当前显示第 "+
(start+1).ToString() +" - "+ to.ToString() +" 条,共 "+ pageCount.ToString() +" 页";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -