如何创建Next和Previous按钮并循环查看已返回数据表的查询?
我尝试了以下内容:
protected void btnPrevious_Click(object sender, EventArgs e)
{
DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter eobj = new DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter();
DataTable dt = new DataTable();
}
我需要遍历将在表单上的文本框中返回的值。
答案 0 :(得分: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绑定,this tutorial might help。基本上你需要加载数据,我认为你可以处理这部分。
在班级中创建一个新值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,也许可能对您有所帮助。