永发信息网

C#怎么实现 DataGridView分页功能

答案:3  悬赏:40  手机版
解决时间 2021-06-06 21:30
突然无聊想到的 蛮好奇的
最佳答案

private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“myDBDataSet.login”中。您可以根据需要移动或移除它。
this.loginTableAdapter.Fill(this.myDBDataSet.login);//自动添加数据时自动生成的

int intMod, dgr;
dataGridView2.ScrollBars = System.Windows.Forms.ScrollBars.None;//先让垂直滚动条消失


dgr = dataGridView2.RowCount-1;//取出DGV的行数,为什么要减一是因为它总是多出一行给你编辑的所以那行也占用一行的空间


if (dgr % 10 == 0) //进行取模


{ intMod = 0; }
else
{
intMod = 1;
}


for (int i = 1; i <= dgr / 10+intMod; i++) //主要时这个for循环将表一共分为几页添加到comboBox
{
comboBox2.Items.Add("第" + i + "页");


}
comboBox2.SelectedIndex = 0; //默认选中第一个


}


然后在comboBox1_SelectedValueChanged事件里面添加下面代码

private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
dataGridView2.FirstDisplayedScrollingRowIndex = comboBox2.SelectedIndex * 10;
}
全部回答

刚做好的

html代码:

<html xmlns=" http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>部门信息选择</title> <link href="Image/Main.css" rel="stylesheet" type="text/css" /> <%-- //屏蔽右键菜单 --%> <script type="text/javascript">

</script> </head> <body> <form id="form1" runat="server"> <div > <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" GridLines="None" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCommand="GridView1_RowCommand" PageSize="5" ForeColor="Black"> <FooterStyle BackColor="Tan" /> <Columns> <asp:BoundField DataField="SuppliersID" HeaderText="供应商编号" InsertVisible="False" ReadOnly="True" SortExpression="DepartmentID" /> <asp:ButtonField ButtonType="Image" CommandName="select" HeaderText="请选择" ImageUrl="~/Image/option.gif" Text="选择" /> </Columns> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <AlternatingRowStyle BackColor="PaleGoldenrod" /> </asp:GridView> <br /> <asp:Label ID="Label1" runat="server"></asp:Label>&nbsp; <input id="hiddenfm" runat="server" type="hidden" /></div> </form> </body> </html>

C#代码:

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 SqlHelper; public partial class SuppliersIDSelect : System.Web.UI.Page { Helper he = new Helper();//这是链接数据库的代码,见后面

static int i = 1;//页数

protected void Page_Load(object sender, EventArgs e) { GridView1.DataSource = he.BindSuppliersInfo();

if (!IsPostBack) { this.hiddenfm.Value = (string)Request["name"];

Label1.Text = "当前页码是" + Convert.ToString(GridView1.PageIndex + i);

GridView1.DataBind(); } } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex;

Label1.Text = "当前页码是" + Convert.ToString(GridView1.PageIndex + i);

GridView1.DataBind(); } }

Help.cs代码:

public DataSet BindSuppliersInfo() { String sql = "select * from Suppliers";

SqlDataAdapter da = new SqlDataAdapter(sql, conn);

conn.Open();

ds = new DataSet();

da.Fill(ds);

conn.Close();

return ds; }

DataGridView 本身就具有分页 可以直接使用的 也可以不用那个分页 那就自己写个 用DataGridView的DataSource来绑定一个DataTable ,DataTable 主要是查询某个区间的数据,主要有几个参数 1 RowCount 一次返回多少行 PageSize一页几个, CurragePage第几页 通过SQl语句 Select top RowCount * from tableName Where Id not in(Select top (CurragePage-1)*PageSize Id form tableName) and 查询条件

大致就这样了 细节地方多注意就是 不懂可以找我 我基本每天都在线的

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想把WAM格式的歌曲转换成MP3的 有什么软件
什么蔬菜和水果含有丰富的维生素D?
天心区长沙湖南省轻纺设计院有限公司地址在什
这是一条不归路
房东给我限速了.我只得到网速60KB
点开网页时,常出现半个网页,怎么办?
QQ飞车上的!!!!
九月菊可以放在家里吗
.法郎和人民币的汇率?
恩施市公安局沐抚派出所大峡谷景区警务室在什
有事才会想到你的人,该用什么词形容?
姓潘的女孩取什么名字好听啊
在哪里可以找到一个有‘红楼梦’字样的印章?
我能放弃QQ吗?
求:电视剧《蝴蝶飞飞》片尾曲「爱人」的歌词
推荐资讯
大学什么时候适合开始打工?
成都哪里有卖二手自行车?
动力学定律是?
以高度为话题的作文
matisyahu的歌曲one day的中文翻译
嫁衣有关的诗句,描写嫁衣的句子
爸爸祝福孩子生日的话,护士长生日该怎么发短
she likes to play with her friends and eat
神情什么成语,描写人物神情的成语
爱情散文美文,美文 美句 美段 美篇
福利费怎么计提,福利费怎么记账
安不当年的意思是什么,最近百度贴吧发生了啥
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?