如何填充数据表以便您可以遍历
how to fill a datatable so that you can iterate through
如何创建“下一个”和“上一个”按钮并循环遍历已返回到数据表的查询?
我试过以下方法:
protected void btnPrevious_Click(object sender, EventArgs e)
{
DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter eobj = new DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter();
DataTable dt = new DataTable();
}
我需要遍历将返回到表单文本框中的值。
阅读评论后,您似乎希望有一个 Next 和 Previous 按钮来浏览数据 table 中的记录,该数据已由 运行 a 返回生成数据的查询table.
我会做的是:
- 创建一个单独的函数来运行查询并初始化 table。
您可能不想总是创建新数据table 并在用户单击上一个按钮时数据绑定到它(看起来这就是您一直在尝试做的事情)
大致是这样的:
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。基本上你需要加载数据,我认为你可以处理那部分。
- 下一个和上一个按钮将 increment/decrement 一个变量。
在class中新建一个值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
或 false,因为我们不希望用户继续点击上一个按钮,即使它已经在顶部。
您也可以添加第一个和最后一个按钮。对于第一个设置索引为 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.
}
示例改编自this C# tutorial,或许对您有所帮助。
如何创建“下一个”和“上一个”按钮并循环遍历已返回到数据表的查询?
我试过以下方法:
protected void btnPrevious_Click(object sender, EventArgs e)
{
DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter eobj = new DAL.CustomersDataSetTableAdapters.CustomerDetailsTableAdapter();
DataTable dt = new DataTable();
}
我需要遍历将返回到表单文本框中的值。
阅读评论后,您似乎希望有一个 Next 和 Previous 按钮来浏览数据 table 中的记录,该数据已由 运行 a 返回生成数据的查询table.
我会做的是:
- 创建一个单独的函数来运行查询并初始化 table。
您可能不想总是创建新数据table 并在用户单击上一个按钮时数据绑定到它(看起来这就是您一直在尝试做的事情)
大致是这样的:
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。基本上你需要加载数据,我认为你可以处理那部分。
- 下一个和上一个按钮将 increment/decrement 一个变量。
在class中新建一个值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
或 false,因为我们不希望用户继续点击上一个按钮,即使它已经在顶部。
您也可以添加第一个和最后一个按钮。对于第一个设置索引为 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.
}
示例改编自this C# tutorial,或许对您有所帮助。