如何填充数据表,以便您可以迭代

时间:2015-04-20 11:05:59

标签: c# asp.net .net datatable datapager

如何创建Next和Previous按钮并循环查看已返回数据表的查询?

我尝试了以下内容:

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

我需要遍历将在表单上的文本框中返回的值。

1 个答案:

答案 0 :(得分:1)

阅读完评论之后,您似乎希望使用“下一个”和“上一个”按钮来浏览数据表中的记录,该记录已通过运行查询来生成数据表而返回。

我要做的是:

  1. 创建一个运行查询并初始化表的单独函数。
  2. 当用户点击上一个按钮时,你可能不希望总是创建一个新的数据表和数据绑定(看起来就像你在那里试图做的那样)

    大致类似于:

    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绑定,this tutorial might help。基本上你需要加载数据,我认为你可以处理这部分。

    1. 下一个和上一个按钮将递增/递减变量。
    2. 在班级中创建一个新值i,并将其初始化为0.当用户点击下一个按钮i++时,以及当用户点击上一个按钮{{1}时,你必须确保它不低于0或大于dataTable的长度。

      喜欢的东西;

      i--

      我们提出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; } } 或false,因为我们不希望用户继续单击“上一步”按钮,即使它已经位于顶部。

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

      DisplayResults函数如下所示:

      btnPrevious.Enabled = true

      该示例改编自this C# tutorial,也许可能对您有所帮助。