从项目中分析出来的,代码大家自己分析
private newsClass Nc;
private string depthstr;
private string recordnum="";
public stringBase strBase;
private void Page_Load(object sender, System.EventArgs e)
{
Nc=new newsClass();
strBase=new stringBase();
depthstr="";
if(!Page.IsPostBack)
{
ViewState["nowPage"]=1;
dropshow();
if (Request.QueryString["selectid"]==null&&Request.QueryString["keytext"]==null)
{
GridBind();
}
else
{
if (Request.QueryString["selectid"]!=null&&Request.QueryString["keytext"]!=null)
{
GridBindKeys2();
}
else
{
if (Request.QueryString["selectid"]!=null)
{
GridBindselectid();
}
if (Request.QueryString["keytext"]!=null)
{
GridBindkeyword();
}
}
}
pagecountshow();
}
}
private void dropshow()
{
classDrop.Items.Clear();
ListItem list=new ListItem();
list.Value="0";
list.Text="新闻类别";
classDrop.Items.Add(list);
classDrop.SelectedValue="0";
DropBind(0,classDrop);
}
private void GridBind()
{
Label2.Text="";
DataSet ds=new DataSet();
ds=Nc.returenNews();
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
}
}
private void GridBindKeys2()
{//满足两个条件
Label2.Text=Nc.returnClassname(Int32.Parse(Request.QueryString["selectid"].ToString()));
DataSet ds=new DataSet();
ds=Nc.returenNews(Int32.Parse(Request.QueryString["selectid"].ToString()),Request.QueryString["keytext"].ToString());
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
}
}
private void GridBindselectid()
{//搜索类别
Label2.Text=Nc.returnClassname(Int32.Parse(Request.QueryString["selectid"].ToString()));
DataSet ds=new DataSet();
ds=Nc.returenNews(Int32.Parse(Request.QueryString["selectid"].ToString()));
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
}
}
private void GridBindkeyword()
{//搜索关键字
Label2.Text="";
DataSet ds=new DataSet();
ds=Nc.returenNews(Request.QueryString["keytext"].ToString());
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
}
}
private void pagecountshow()
{//绑定分页
pagesize.Text=DataGrid1.PageSize.ToString();
pagecount.Text=DataGrid1.PageCount.ToString();
nowpage.Text=Convert.ToString(DataGrid1.CurrentPageIndex+1);
recordLabel.Text=recordnum.ToString();
}
private void cacheBind()
{
DataSet ds=(DataSet)Cache["datagridlist"];
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
}
private void DropBind(int paterid,DropDownList droplist)
{
DataSet ds=Nc.returnClass(paterid);
if(ds!=null)
{
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ListItem list=new ListItem();
if (ds.Tables[0].Rows[i]["depth"].ToString()=="0")
{
list.Text=ds.Tables[0].Rows[i]["name"].ToString();
}
else
{
string depth="";
depth=depthstr+"—";
list.Text=depth+ds.Tables[0].Rows[i]["name"].ToString();
}
list.Value=ds.Tables[0].Rows[i]["id"].ToString();
droplist.Items.Add(list);
DataSet ds2=Nc.returnClass(Int32.Parse(ds.Tables[0].Rows[i]["id"].ToString()));
if(ds2.Tables[0].Rows.Count>0)
{
//depthstr+="—";
DropBind(Int32.Parse(ds.Tables[0].Rows[i]["id"].ToString()),classDrop);
}
}
}
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{//分页
DataGrid1.CurrentPageIndex=e.NewPageIndex;
if(classDrop.SelectedValue=="0")
{
GridBind();
}
else
{
DataSet ds=new DataSet();
if(keyText.Text=="")
{
ds=Nc.returenNews(Int32.Parse(classDrop.SelectedValue));
if(ds!=null)
{
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
}
}
else
{
ds=Nc.returenNews(Int32.Parse(classDrop.SelectedValue),keyText.Text);
if(ds!=null)
{
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
}
}
}
}
private void Button1_Click(object sender, System.EventArgs e)
{//查询
DataSet ds=new DataSet();
if (classDrop.SelectedValue=="25")
{
if (Session["huibianflag"]==null||Session["huibianflag"].ToString()=="")
{
Response.Write("<script>alert('您没有访问文件汇编的权限');location.href='login.aspx';</script>");
Response.End();
return;
}
}
if(keyText.Text=="")
{
Label2.Text=Nc.returnClassname(Int32.Parse(classDrop.SelectedValue));
ds=Nc.returenNews(Int32.Parse(classDrop.SelectedValue));
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
pagecountshow();
}
}
else
{
Label2.Text=Nc.returnClassname(Int32.Parse(classDrop.SelectedValue));
ds=Nc.returenNews(Int32.Parse(classDrop.SelectedValue),keyText.Text);
if(ds!=null)
{
Cache.Insert("datagridlist",ds);
DataGrid1.CurrentPageIndex=0;
DataGrid1.DataSource=ds.Tables[0].DefaultView;
DataGrid1.DataBind();
recordnum=ds.Tables[0].Rows.Count.ToString();
pagecountshow();
}
}
}
private void firstButton_Click(object sender, System.EventArgs e)
{//首页
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex=0;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
private void preButton_Click(object sender, System.EventArgs e)
{//上一页
if(DataGrid1.CurrentPageIndex-1>=0)
{
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex-=1;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
}
private void LinkButton3_Click(object sender, System.EventArgs e)
{//下一页
if(DataGrid1.CurrentPageIndex+1<DataGrid1.PageCount)
{
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex+=1;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
}
private void endButton_Click(object sender, System.EventArgs e)
{//末页
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex=DataGrid1.PageCount-1;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
private void jumpButton_Click(object sender, System.EventArgs e)
{//跳转
if(pageText.Text!=""&&Int32.Parse(pageText.Text)>0&&Int32.Parse(pageText.Text)<=DataGrid1.PageCount)
{
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex=Int32.Parse(pageText.Text)-1;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
else
{
}
}
private void nextButton_Click(object sender, System.EventArgs e)
{
//下一页
if(DataGrid1.CurrentPageIndex+1<DataGrid1.PageCount)
{
if(Cache["datagridlist"]!=null)
{
DataGrid1.CurrentPageIndex+=1;
cacheBind();
}
else
{
GridBind();
}
pagecountshow();
}
}