您的位置:首页 > 大数据

asp.net (c#) MySQL 大数据快速分页

2009-10-16 10:07 483 查看
aspx页:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" CssClass="b">
<asp:ListItem Value="5">5 per page</asp:ListItem>
<asp:ListItem Selected="True" Value="10">10 per page</asp:ListItem>
<asp:ListItem Value="50">50 per page</asp:ListItem>
</asp:DropDownList>  --每页显示条数
<asp:Label ID="lbpageof" runat="server"></asp:Label>  --显示方式

<asp:LinkButton ID="lbpre" runat="server" CommandArgument="prev" OnClick="PagerButtonClick">Previous</asp:LinkButton>  --前一页
<asp:LinkButton ID="lbnext" runat="server" CommandArgument="next" OnClick="PagerButtonClick">Next</asp:LinkButton>   --后一页
<asp:LinkButton ID="lbpre2" runat="server" CommandArgument="prev" OnClick="PagerButtonClick">Previous</asp:LinkButton>  --前一页2
<asp:LinkButton ID="lbnext2" runat="server" CommandArgument="next" OnClick="PagerButtonClick">Next</asp:LinkButton> --后一页2
<input id="hid_CurrentIndex"
runat="server" type="hidden" />  --索引数

cs:
hid_CurrentIndex.Value = "0";  初始化为0
首先给出_sqlStr(sql语句)
DataSet ds;

通过程序得到一个(ds)Dataset

ds = _db.GetDataSet(_sqlStr + " limit " + (Convert.ToInt64(hid_CurrentIndex.Value) * Convert.ToInt64(DropDownList1.SelectedValue)) + "," +

DropDownList1.SelectedValue);   --DropDownList1.SelectedValue1的值为每页显示条数

GridView1.PageSize = 10;
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
linkbttonenableset();

private void linkbttonenableset()
{
try
{

double dblTotalRecords = Convert.ToDouble(取得总的记录行数单独写个sql_count);
double dblPageRecords = Convert.ToDouble(DropDownList1.SelectedValue); --每页显示行数

double dbltemp1 = dblTotalRecords / dblPageRecords;
double dbltemp2 = (double)((long)(dblTotalRecords / dblPageRecords));

long lngShowPages = 0;
if(dbltemp1 == dbltemp2)
{
lngShowPages = (long)dbltemp1;
}
else
{
lngShowPages = (long)(dbltemp1+1);
}

lbpageof.Text = "Displaying " + (Convert.ToInt64(hid_CurrentIndex.Value.Trim()) + 1) + " of "
+ lngShowPages.ToString("###,###");

lbnext.Text = "Next " + DropDownList1.SelectedItem.Value;
lbpre.Text = "Previous " + DropDownList1.SelectedItem.Value;
lbnext2.Text = "Next " + DropDownList1.SelectedItem.Value;
lbpre2.Text = "Previous " + DropDownList1.SelectedItem.Value;

lbpageof.Visible = true;
lbnext.Enabled = true;
lbpre.Enabled = true;
lbnext2.Enabled = true;
lbpre2.Enabled = true;
if (GridView1.Rows.Count == 0)
{
lbpageof.Visible = false;
lbnext.Enabled = false;
lbpre.Enabled = false;
lbnext2.Enabled = false;
lbpre2.Enabled = false;
}
if (((Convert.ToInt64(hid_CurrentIndex.Value.Trim()) + 1) * Convert.ToInt64(DropDownList1.SelectedValue)) > Convert.ToInt64(lbrecords.Text.Trim

().Replace(",", "").Replace("Records: ", "")))
{
lbnext.Enabled = false;
lbnext2.Enabled = false;
}
if ((hid_CurrentIndex.Value == "0") || (((Convert.ToInt64(hid_CurrentIndex.Value.Trim()) + 1) * Convert.ToInt64(DropDownList1.SelectedValue)) -

Convert.ToInt16(DropDownList1.SelectedValue.Trim()) < 0))
{
lbpre.Enabled = false;
lbpre2.Enabled = false;
}
}
catch (Exception ex)
{
lbpageof.Visible = false;
lbnext.Enabled = false;
lbpre.Enabled = false;
lbnext2.Enabled = false;
lbpre2.Enabled = false;
}
}

protected void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch (arg)
{
case "prev":
hid_CurrentIndex.Value = Convert.ToString(Convert.ToInt64(hid_CurrentIndex.Value) - 1);
break;
case "next":
hid_CurrentIndex.Value = Convert.ToString(Convert.ToInt64(hid_CurrentIndex.Value) + 1);
break;
default:
hid_CurrentIndex.Value = "";
break;
}
gridviewshow(sqlStr);  --重新取得sql得到得到新的hid_CurrentIndex.Value得到新的dataset
}

protected void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch (arg)
{
case "prev":
hid_CurrentIndex.Value = Convert.ToString(Convert.ToInt64(hid_CurrentIndex.Value) - 1);
break;
case "next":
hid_CurrentIndex.Value = Convert.ToString(Convert.ToInt64(hid_CurrentIndex.Value) + 1);
break;
default:
hid_CurrentIndex.Value = "";
break;
}
gridviewshow(sqlStr);  --重新取得sql得到得到新的hid_CurrentIndex.Value得到新的dataset
}
--其他按钮省略 意思一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息