C# 选择数据集中的当前行位置

C# 选择数据集中的当前行位置,c#,dataset,C#,Dataset,我想选择数据集中的当前行位置,但没有任何循环,我可能知道,但我卡住了 首先,我声明一个DataTable并用数据填充它: DataTable dr_art_line_2 = ds.Tables["QuantityInIssueUnit"]; 然后有一个if循环,我有这个代码: if (dr_art_line_2.Rows.Count > 0) { int ID_line = (int)ds.Tables["Line"].Select()[0]["Line_Id"]; int

我想选择数据集中的当前行位置,但没有任何循环,我可能知道,但我卡住了

首先,我声明一个DataTable并用数据填充它:

DataTable dr_art_line_2 = ds.Tables["QuantityInIssueUnit"];
然后有一个if循环,我有这个代码:

if (dr_art_line_2.Rows.Count > 0)
{

   int ID_line = (int)ds.Tables["Line"].Select()[0]["Line_Id"];
   int ID = (int)ds.Tables["QuantityInIssueUnit"].Select()[ID_line]["Line_Id"];

   QuantityInIssueUnit_value = Convert.ToString(dr_art_line_2.Rows[ID] ["QuantityInIssueUnit_Text"]);
   QuantityInIssueUnit_uom = Convert.ToString(dr_art_line_2.Rows[ID]["uom"]);

}
else
{
    QuantityInIssueUnit_value = "";
    QuantityInIssueUnit_uom = "";
 }
我这里有个问题:

int ID_line = (int)ds.Tables["Line"].Select()[0]["Line_Id"];
int ID = (int)ds.Tables["QuantityInIssueUnit"].Select()[ID_line]["Line_Id"];
我想选择“Line ID”,这没关系,但是ID\u Line必须在每次迭代中增加一个,有没有办法对其他东西进行某种选择


谢谢

就是这个东西,很管用

if (dr_art_line_2.Rows.Count > 0)
{   
    int ID_line = dr_art_line_1.Rows.IndexOf(dr_art_line); 

    //int ID_line = (int)ds.Tables["Line"].Select()[0]["Line_Id"];
    int ID = (int)ds.Tables["QuantityInIssueUnit"].Select()[ID_line]["Line_Id"];

    QuantityInIssueUnit_value = Convert.ToString(dr_art_line_2.Rows[ID]["QuantityInIssueUnit_Text"]);
    QuantityInIssueUnit_uom = Convert.ToString(dr_art_line_2.Rows[ID]["uom"]);    
}
else
{
    QuantityInIssueUnit_value = "";
    QuantityInIssueUnit_uom = "";
}
CurrentRow(数据光标)是连接的数据源(VB6 ActiveX ADO)的概念。移动、更新或删除CurrentRow时,更改将写回数据源

DataTable或DataSet是从断开连接的数据源(ADO.NET)返回的行的集合

如果需要DataTable的“当前行”,可以为DataTable创建包装类并添加iCurrentRow属性。当您在行中“导航”时,需要更新此成员变量(在这个包装类中提供的MoveFirst.MoveLast、MoveNext和MovePrev方法中)

有关其他备选方案,请参阅

如果需要DataGrid的行号,请参阅本文: