asp.net如何填写数据表,以便您可以遍历

发布时间: 2017/3/26 4:49:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如何对创建的下一页和上一页按钮和循环通过我已退回到数据表的查询?

我有尝试以下操作︰

protected void btnPrevious_Click(object sender, EventArgs e)
{
    DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter eobj = new DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter();
    DataTable dt = new DataTable();
}

我需要 loopthrough 将窗体返回文本框中的值。

解决方法 1:

读后通过的评论,似乎你想要一个下一页和上一页的按钮,可以通过数据表,已经返回通过运行查询以生成数据表中的记录。

我会做的就是︰

  1. 创建一个单独的函数,运行查询并初始化表。

你可能不想总是创建一个新的数据表和数据绑定到它每当用户单击了上一页按钮 (看上去像是你一直在试图做在那里出现)

所以大致类似︰

DataTable dt; //declare first so other fucntions can use this

protected void initializeDataTable()
{
    DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter eobj = new DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter();
    dt = new DataTable();
    //you might have to bind to your datasource, or 
    //run the query that generates the dataTable here.

    //after all that you might want to display the first value, index 0. 
}

我不熟悉 ASP.net DataTable 绑定,本教程可能帮助。基本上,您需要将数据加载中,我认为你可以处理的那部分。

  1. 下一页和上一页按钮将递增/递减变量。

创建一个新的值 i 在类中,并将其初始化为 0。当用户单击下一步按钮, i++ ,当用户点击上一页按钮和 i-- ,你要确保它不会低于 0 或多个数据表的长度比。

类似;

protected void btnPrevious_Click(object sender, EventArgs e)
{
    if (i < totalNumberOfRecords) 
    {
        i = i + 1;
        DisplayResults(i);

        LinkButton btnPrevious = (LinkButton)Master.FindControl("ContentController").FindControl("btnPreviousRecord");        btnPrevious.Enabled = true; 
 }
}

我们使 btnPrevious.Enabled = true 或虚假的因为我们不想让用户保持上单击上一页按钮,即使它已经位于顶部。

您也可以添加第一个和最后一个按钮太。对于第一次设置的索引为 0,最后设置索引的最大行数为有。

DisplayResults 功能看起来像这样︰

public void DisplayResults(int rowNumber)
{
   textBox1.Text = ds.Tables[0].Rows[i]["ID"].ToString();
   textBox2.Text = ds.Tables[0].Rows[i]["empname"].ToString();
   textBox3.Text = ds.Tables[0].Rows[i]["salary"].ToString();
   //and so on so forth.
}

该示例是改编此 C# 教程,也许这可能对你有帮助。

官方微信
官方QQ群
31647020