asp.net 点击表头排序及分页代码
2009-10-15 08:24
573 查看
aspx:
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script language="javascript" type="text/javascript">
var getPageData=function(i,pageCount)
{
$.ajax({
url:'....aspx?'+new Date()+'&page='+i+'&url='+document.getElementById('ctl00_ContentArea_hidUrl').value+'&pageCount='+pageCount+'&Type='+document.getElementById('ctl00_ContentArea_hidType').value,
type:'get',
success:function(data,textStatus)
{
// $('#ShowData').text(data);
// $('#ShowData')[0].innerHTML="";
//$('#ShowData').innerHTML=data;
document.getElementById('ShowData').innerHTML=data;
},
error:function(XMLHttpRequest,textStatus)
{
//debugger;
$('#ShowData').text(XMLHttpRequest.responseText);
},
complete:function(XMLHttpRequest,textStatus)
{
}
});
}
var sortDataGridView=function(sortExpression,sortDirection)
{
//event.returnVaule=false;
$.ajax({
url:'.....aspx?'+new Date()+'&sortEx='+sortExpression+'&url='+document.getElementById('ctl00_ContentArea_hidUrl').value+'&Type='+document.getElementById('ctl00_ContentArea_hidType').value,
type:'get',
success:function(data,textStatus)
{
document.getElementById('ShowData').innerHTML=data;
//$('#ShowData').innerHTML = data;
},
error:function(XMLHttpRequest,textStatus)
{
$('#ShowData').text(XMLHttpRequest.responseText);
},
complete:function(XMLHttpRequest,textStatus)
{
}
});
}
</script>
aspx.cs:
Page_Load:
//jquary sort
if (hasKeyName("page"))
{
if (!string.IsNullOrEmpty(Request.QueryString["page"].ToString()))
{
this.GridView1.PageIndex = int.Parse(Request.QueryString["page"].ToString());
ResponseData();
}
}
else
{
if (hasKeyName("sortEx"))
{
sortEx = Request.QueryString["sortEx"].ToString();
try
{
this.GridView1.Sort(sortEx, SortDirection.Ascending);
}
catch (Exception ex)
{
string info = ex.Message;
}
}
}
other:
private bool hasKeyName(string key)
{
string[] keys = Request.QueryString.AllKeys;
foreach (string str in keys)
{
if (String.Compare(key, str, true) == 0)
return true;
}
return false;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
string firstHeader = string.Empty;
for (int i = 0; i < e.Row.Cells.Count; i++)
{
LinkButton lt = (LinkButton)e.Row.Cells[i].Controls[0];
lt.Attributes["href"] = "#";
lt.OnClientClick = string.Format(" return sortDataGridView('{0}','{1}')", lt.CommandArgument, "ASC");
if (i == 0)
{
firstHeader = lt.CommandArgument.Trim();
}
}
Page.RegisterStartupScript("123456", "<script>javascript:sortDataGridView('" + firstHeader + "','ASC');</script>");
}
if (e.Row.RowType == DataControlRowType.Pager)
{
e.Row.Visible = false;
}
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
this.GridView1.EditIndex = -1;
e.SortExpression = sortEx;
if (string.Compare(sortDirection, "ASC", true) == 0)
{
sortDirection = "DESC";
}
else
{
sortDirection = "ASC";
}
ResponseData();
}
private void ResponseData()
{
DataTable dt = (DataTable)Session["App_RealData" + hidTimeStamp.Value];
DataView dw = dt.DefaultView;
GridView1.PageSize = pageSize;
this.GridView1.DataSource = dw;
if (!string.IsNullOrEmpty(sortEx))
{
dw.Sort = sortEx + " " + sortDirection;
}
System.Globalization.CultureInfo info = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter sWriter = new System.IO.StringWriter(info);
System.Web.UI.HtmlTextWriter html = new HtmlTextWriter(sWriter);
GridView1.DataBind();
if (GridView1 != null)
{
GridView1.RenderControl(html);
}
Response.Write(html.InnerWriter);
Response.Write(GetNav());
Response.Flush();
Response.End();
}
static int leftPage = 0;
public string GetNav()
{
if (hasKeyName("pageCount"))
{
leftPage = Convert.ToInt32(Request.QueryString["pageCount"]);
}
int pageCount = 10;
//总分页数
int a = GridView1.PageCount / pageCount;
int b = GridView1.PageCount % pageCount == 0 ? 0 : 1;
int allIndexCount = a + b;
string NavStr = @"<table><tr>";
if (GridView1.PageCount < pageCount)
{
pageCount = GridView1.PageCount;
}
if (leftPage > 0)
{
NavStr += @"<td><a href='#' onclick='getPageData(" + ((leftPage-1)*pageCount + 1).ToString() + ","+(leftPage-1).ToString()+")'>..." + @" " + @"</a></td>";
}
int length = pageCount * (leftPage+1);
if((leftPage+1) == allIndexCount)
{
length = GridView1.PageCount % pageCount + pageCount * leftPage-1;
}
for (int i = pageCount * leftPage; i < length; i++)
{
NavStr = NavStr + @"<td><a href='#' onclick='getPageData(" + (i + 1).ToString() + "," + leftPage.ToString() + ")'>" + (i + 1).ToString() + @" " + @"</a></td>";
}
if (GridView1.PageCount > pageCount && (leftPage+1) < allIndexCount)
{
NavStr += "<td><a href='#' onclick='getPageData(" + (pageCount * leftPage + 1).ToString() + "," + (leftPage+1) .ToString()+ ")'>..." + @" " + @"</a></td>";
}
NavStr = NavStr + @"</tr></table>";
return NavStr;
}
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script language="javascript" type="text/javascript">
var getPageData=function(i,pageCount)
{
$.ajax({
url:'....aspx?'+new Date()+'&page='+i+'&url='+document.getElementById('ctl00_ContentArea_hidUrl').value+'&pageCount='+pageCount+'&Type='+document.getElementById('ctl00_ContentArea_hidType').value,
type:'get',
success:function(data,textStatus)
{
// $('#ShowData').text(data);
// $('#ShowData')[0].innerHTML="";
//$('#ShowData').innerHTML=data;
document.getElementById('ShowData').innerHTML=data;
},
error:function(XMLHttpRequest,textStatus)
{
//debugger;
$('#ShowData').text(XMLHttpRequest.responseText);
},
complete:function(XMLHttpRequest,textStatus)
{
}
});
}
var sortDataGridView=function(sortExpression,sortDirection)
{
//event.returnVaule=false;
$.ajax({
url:'.....aspx?'+new Date()+'&sortEx='+sortExpression+'&url='+document.getElementById('ctl00_ContentArea_hidUrl').value+'&Type='+document.getElementById('ctl00_ContentArea_hidType').value,
type:'get',
success:function(data,textStatus)
{
document.getElementById('ShowData').innerHTML=data;
//$('#ShowData').innerHTML = data;
},
error:function(XMLHttpRequest,textStatus)
{
$('#ShowData').text(XMLHttpRequest.responseText);
},
complete:function(XMLHttpRequest,textStatus)
{
}
});
}
</script>
aspx.cs:
Page_Load:
//jquary sort
if (hasKeyName("page"))
{
if (!string.IsNullOrEmpty(Request.QueryString["page"].ToString()))
{
this.GridView1.PageIndex = int.Parse(Request.QueryString["page"].ToString());
ResponseData();
}
}
else
{
if (hasKeyName("sortEx"))
{
sortEx = Request.QueryString["sortEx"].ToString();
try
{
this.GridView1.Sort(sortEx, SortDirection.Ascending);
}
catch (Exception ex)
{
string info = ex.Message;
}
}
}
other:
private bool hasKeyName(string key)
{
string[] keys = Request.QueryString.AllKeys;
foreach (string str in keys)
{
if (String.Compare(key, str, true) == 0)
return true;
}
return false;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
string firstHeader = string.Empty;
for (int i = 0; i < e.Row.Cells.Count; i++)
{
LinkButton lt = (LinkButton)e.Row.Cells[i].Controls[0];
lt.Attributes["href"] = "#";
lt.OnClientClick = string.Format(" return sortDataGridView('{0}','{1}')", lt.CommandArgument, "ASC");
if (i == 0)
{
firstHeader = lt.CommandArgument.Trim();
}
}
Page.RegisterStartupScript("123456", "<script>javascript:sortDataGridView('" + firstHeader + "','ASC');</script>");
}
if (e.Row.RowType == DataControlRowType.Pager)
{
e.Row.Visible = false;
}
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
this.GridView1.EditIndex = -1;
e.SortExpression = sortEx;
if (string.Compare(sortDirection, "ASC", true) == 0)
{
sortDirection = "DESC";
}
else
{
sortDirection = "ASC";
}
ResponseData();
}
private void ResponseData()
{
DataTable dt = (DataTable)Session["App_RealData" + hidTimeStamp.Value];
DataView dw = dt.DefaultView;
GridView1.PageSize = pageSize;
this.GridView1.DataSource = dw;
if (!string.IsNullOrEmpty(sortEx))
{
dw.Sort = sortEx + " " + sortDirection;
}
System.Globalization.CultureInfo info = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter sWriter = new System.IO.StringWriter(info);
System.Web.UI.HtmlTextWriter html = new HtmlTextWriter(sWriter);
GridView1.DataBind();
if (GridView1 != null)
{
GridView1.RenderControl(html);
}
Response.Write(html.InnerWriter);
Response.Write(GetNav());
Response.Flush();
Response.End();
}
static int leftPage = 0;
public string GetNav()
{
if (hasKeyName("pageCount"))
{
leftPage = Convert.ToInt32(Request.QueryString["pageCount"]);
}
int pageCount = 10;
//总分页数
int a = GridView1.PageCount / pageCount;
int b = GridView1.PageCount % pageCount == 0 ? 0 : 1;
int allIndexCount = a + b;
string NavStr = @"<table><tr>";
if (GridView1.PageCount < pageCount)
{
pageCount = GridView1.PageCount;
}
if (leftPage > 0)
{
NavStr += @"<td><a href='#' onclick='getPageData(" + ((leftPage-1)*pageCount + 1).ToString() + ","+(leftPage-1).ToString()+")'>..." + @" " + @"</a></td>";
}
int length = pageCount * (leftPage+1);
if((leftPage+1) == allIndexCount)
{
length = GridView1.PageCount % pageCount + pageCount * leftPage-1;
}
for (int i = pageCount * leftPage; i < length; i++)
{
NavStr = NavStr + @"<td><a href='#' onclick='getPageData(" + (i + 1).ToString() + "," + leftPage.ToString() + ")'>" + (i + 1).ToString() + @" " + @"</a></td>";
}
if (GridView1.PageCount > pageCount && (leftPage+1) < allIndexCount)
{
NavStr += "<td><a href='#' onclick='getPageData(" + (pageCount * leftPage + 1).ToString() + "," + (leftPage+1) .ToString()+ ")'>..." + @" " + @"</a></td>";
}
NavStr = NavStr + @"</tr></table>";
return NavStr;
}
相关文章推荐
- asp.net1.GridView无代码分页排序:
- Asp.Net MVC 分页、检索、排序整体实现代码
- 功能齐全的GridView!Asp.Net中GridView的自定义分页,带箭头的排序,鼠标高亮每一行,无数据时的提醒,点击Button弹出框!
- Asp.net中,点击GridView表头实现数据的排序
- asp.net点击表头增加排序标示
- asp.net GridView无代码分页排序等 72般绝技
- Asp.net中,点击GridView表头实现数据的排序
- asp.net gridview表头排序代码(全部代码),供以后使用方便 VS2008
- [Asp.Net]GridView无代码分页排序,选中,编辑,取消,删除,正反双向排序,下拉菜单DropDownList结合
- asp.net+Ajax 文本文件静态分页实现代码
- 让Asp.NET的DataGrid可排序、可选择、可分页
- Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果][示例代码下载]
- 让Asp_NET的DataGrid可排序、可选择、可分页
- 让Asp.NET的DataGrid可排序、可选择、可分页
- 让Asp.NET的DataGrid可排序、可选择、可分页
- asp.net MVC分页代码分享
- 让Asp.NET的DataGrid可排序、可选择、可分页
- 我要学ASP.NET MVC 3.0(十八): MVC 3.0 实例系列之表格中合并排序、分页和筛选