求一个Details View控件分页???? RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我现在控件分页也经常自己写,Details View控件基本没怎么用,但是我想原理是一样的吧。页码,上页,下页可以使用HyperLink控件,地址是本页面地址?tab=n,n就是分页页码,在PageLoad中先使用Request.QueryString读取tab值,然后在绑定数据时根据分页读取制定数据,如(我自己开发网站的代码): //获取指定类别、指定数目、指定分页文章(按阅读次数排序) internal DataTable GetStatuteListByTab(string category,int count,int tabId) { string sql; if (category == "全部") sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute WHERE StatuteId NOT IN " + "(SELECT TOP " + ((int)(count * (tabId - 1))).ToString() + " StatuteId FROM PublicInfo.Statute " + "ORDER BY Count DESC) ORDER BY Count DESC"; else sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute " + "WHERE Category='" + category + "' AND StatuteId NOT IN " + "(SELECT TOP " + ((int)(count*(tabId-1))).ToString() + " StatuteId FROM PublicInfo.Statute " + "WHERE Category='" + category + "' ORDER BY Count DESC) ORDER BY Count DESC"; try { return GetDataTable(sql); } catch (Exception err) { throw new Exception(err.Message); } }这是一个读取文章的代码,category是分类(要在QueryString中添加,同tab),count是每页显示数目,tabid是分页(0开始),数据库操作代码我就不详细说了,应该能看懂吧^_^(太晚了啊,半夜了,有点困了),原理就是比如要读第n页, 就先将前n-1页过滤,然后读取前count(每页显示数目)项。 对了,GetDataTable(sql)就是一个执行sql语句然后返回DataTable的函数,自己写的。 http://msdn.microsoft.com/zh-cn/library/ms227442(VS.80).aspxhttp://hi.baidu.com/twmp/blog/item/bad0b81fe1ac9d60f724e424.html aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title></head><body> <form id="form1" runat="server"> <div> </div> <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" Height="50px" Width="215px" OnPageIndexChanging="DetailsView1_PageIndexChanging"> <Fields> <asp:BoundField DataField="id" HeaderText="编号" /> <asp:BoundField DataField="name" HeaderText="商品名称" /> <asp:BoundField DataField="price" HeaderText="商品价格" /> </Fields> </asp:DetailsView> </form></body></html>csusing 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) { if (!IsPostBack) { dataBind(); } } public void dataBind() { //实例化SqlConnection对象 SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_11"); con.Open(); //实例化SqlDataAdapter对象 SqlDataAdapter da = new SqlDataAdapter("select * from tb_08", con); //实例化数据集DataSet DataSet ds = new DataSet(); da.Fill(ds, "tb_08"); DetailsView1.AllowPaging = true; this.DetailsView1.DataSource = ds.Tables[0].DefaultView; DetailsView1.DataBind(); } protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e) { DetailsView1.PageIndex = e.NewPageIndex; dataBind(); }}这是我原来用过了,但觉得不怎么好勉强能用吧 网站截图的问题 Web导航框架开发 哪位大哥做过电影点播的请进来 怎么让DropDownList可以手动输入值? 求一个。NET调用正则 大型 OA C#+SQLSERVER 源码 asp.net服务器出错,急!!!!!!!!!!!!!!!!! 请教各位:把DataGrid 的数据导入word中,怎样独立启动客户端的word程序???高分请教! 网站发布错误 不可访问“*******”,因为它受保护级别限制,为何? 如何获取DetailsView的HeaderTemplate 内的textbox的值? asp.net 网站的加密
//获取指定类别、指定数目、指定分页文章(按阅读次数排序)
internal DataTable GetStatuteListByTab(string category,int count,int tabId)
{
string sql;
if (category == "全部")
sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute WHERE StatuteId NOT IN " +
"(SELECT TOP " + ((int)(count * (tabId - 1))).ToString() + " StatuteId FROM PublicInfo.Statute " +
"ORDER BY Count DESC) ORDER BY Count DESC";
else
sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute " +
"WHERE Category='" + category + "' AND StatuteId NOT IN " +
"(SELECT TOP " + ((int)(count*(tabId-1))).ToString() + " StatuteId FROM PublicInfo.Statute " +
"WHERE Category='" + category + "' ORDER BY Count DESC) ORDER BY Count DESC";
try
{
return GetDataTable(sql);
}
catch (Exception err)
{
throw new Exception(err.Message);
}
}
这是一个读取文章的代码,category是分类(要在QueryString中添加,同tab),count是每页显示数目,tabid是分页(0开始),数据库操作代码我就不详细说了,应该能看懂吧^_^(太晚了啊,半夜了,有点困了),原理就是比如要读第n页, 就先将前n-1页过滤,然后读取前count(每页显示数目)项。
http://hi.baidu.com/twmp/blog/item/bad0b81fe1ac9d60f724e424.html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
Height="50px" Width="215px" OnPageIndexChanging="DetailsView1_PageIndexChanging">
<Fields>
<asp:BoundField DataField="id" HeaderText="编号" />
<asp:BoundField DataField="name" HeaderText="商品名称" />
<asp:BoundField DataField="price" HeaderText="商品价格" />
</Fields>
</asp:DetailsView>
</form>
</body>
</html>
csusing 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)
{
if (!IsPostBack)
{
dataBind();
}
}
public void dataBind()
{
//实例化SqlConnection对象
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=;database=db_11");
con.Open();
//实例化SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter("select * from tb_08", con);
//实例化数据集DataSet
DataSet ds = new DataSet();
da.Fill(ds, "tb_08");
DetailsView1.AllowPaging = true;
this.DetailsView1.DataSource = ds.Tables[0].DefaultView;
DetailsView1.DataBind();
}
protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
{
DetailsView1.PageIndex = e.NewPageIndex;
dataBind();
}
}这是我原来用过了,但觉得不怎么好
勉强能用吧