Asp.net的DataRow中的行

时间:2014-07-23 03:09:59

标签: c# asp.net

这是一个主观的问题,但我希望我能找到帮助。
我正在学习如何将数据库中的两个表合并到一个单独的DataTable中。然后,我遇到了以下代码块。

 DataTable mdt = new DataTable();

    mdt.Columns.Add("products");
    mdt.Columns.Add("price");


for (int i = 0; i < A.Rows.Count; i++)
            {
                DataRow dr = mdt.NewRow();
                dr["product"] = A.Rows[i]["product"].ToString();
                dr["price"] = A.Rows[i]["price"].ToString();
                //A is a DataTable 
                mdt.Rows.Add(dr);
            }

我可以理解数据正被添加到Datatable的行中。 这就是我所理解的:  DataTable的列产品由dr [“product”]赋值。如果我错了,请纠正我。但是A.Rows[i]["product"].ToString();如何工作。

3 个答案:

答案 0 :(得分:3)

这应该有所帮助:

A = DataTable
A.Rows = Collection of DataRows in A
A.Rows[i] = i-th row from collection
A.Rows[i]["product"] = Column "product" in row (return type of expression is object)

因此,当您执行dr["product"] = A.Rows[i]["product"].ToString();时,您要将当前行的product列的值从数据表A分配到新数据行中的product列。同样适用于price列。

答案 1 :(得分:1)

Rows[i]表示赋值的索引。我的意思是第一个循环的值是0,第二个循环的值是1.因此,对于第一个循环,为了第一个循环,增加了产品和价格的值到索引为0的第一行。对于第二个循环,将产品和价格的值添加到索引为1的第二行。
对于第二部分即["product"].ToString(),它只是将产品的值转换为字符串。

修改

由于A是已经填充的数据表。我们正在使用该语句,我们从集合中获取DataTables的第i行,将其转换为字符串并将其分配给列中的“product”列。数据行。

答案 2 :(得分:0)

[“product”]。ToString()获取具有列名产品的单元格的值,并将其转换为要分配给新行的字符串。