表: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.