使用LINQ c#从数据表中检索多个列并返回一个数据表



表:tblCustomer列:custtid(字符串),custFName(字符串),custLName(字符串),Address1(字符串),Address2(字符串),City(字符串),邮政编码(字符串),国家(字符串),电子邮件(字符串),电话(字符串)。

我想从tblCustomer中检索这些列的值:custtid(字符串)、custFName(字符串)、custLName(字符串)、email(字符串)、Phone(字符串)。

我想将新表中的列名称更改为Customer Id, First Name, Last Name, Email, Phone Number。

我只能得到一列。如何获取多列和所有行并将其转换为数据表

DataTable dt = tblCustomer
.AsEnumerable()
.Select(rows => rows.Field<string>("custId").Copytodatatable()         

调用DataTable.DefaultView属性的.ToTable方法并传递所讨论的列

var cols = new[] { "custId", "custFName", "custLName", "email", "Phone" };
var dt = tblCustomer.DefaultView.ToTable(false, cols);

var dt = tblCustomer.DefaultView.ToTable(false, 
"custId", "custFName", "custLName", "email", "Phone");

命名新的DataTable,使用过载的tableName参数。

var dt = tblCustomer.DefaultView.ToTable("Customer", false, 
"custId", "custFName", "custLName", "email", "Phone");

若要重命名列标题,请为每个列的DataColumn.Caption属性分配新的标题。

var dt = tblCustomer.DefaultView.ToTable("Customer", false, 
"custId", "custFName", "custLName", "email", "Phone");
dt.Columns["custId"].Caption = "Customer Id";
dt.Columns["custFName"].Caption = "First Name";
dt.Columns["custLName"].Caption = "Last Name";
// ...etc.

相关内容

最新更新