2

我创建了一个采用源数据表、目标数据表、列名和值的方法。仅复制与列值匹配的数据行。这可行,但现在我需要提供 2 个列名和 2 个值,但它不起作用。

这是我到目前为止的代码:

public void SortDataByType(DataTable SourceTable, DataTable ReturnedResult, String Custnum, string Columnname)
{
        var detailedRows = SourceTable.Select(String.Format(Columnname + "={0}", Custnum));

        foreach (var detailRow in detailedRows)
        {
            ReturnedResult.Rows.Add(detailRow.ItemArray);
        }
    }

以上工作正常。

下面的代码不起作用。

 public void SortDataByType(DataTable SourceTable, DataTable ReturnedResult, String Custnum,   String District , string Columnname,string Columnname2)
 {
     var detailedRows = SourceTable.Select(String.Format(Columnname + "={0}" , Columnname2+"={1}",Custnum,District));

     foreach (var detailRow in detailedRows)
     {
            ReturnedResult.Rows.Add(detailRow.ItemArray);
     }
}
4

1 回答 1

1

DataTable.Select 可以使用“AND”或“OR”语句组合条件。试试这个:

var detailedRows = SourceTable.Select(String.Format(Columnname + " = {0}" + " And " + Columnname2 + " = {1}", Custnum, District));
于 2013-09-27T16:35:54.537 回答