///
/// 修改数据表DataTable某一列的类型和记录值(正确步骤:1.克隆表结构,2.修改列类型,3.修改记录值,4.返回希望的结果)
///
/// 数据表DataTable
///
private DataTable UpdateDataTable(DataTable argDataTable)
{
DataTable dtResult = new DataTable();
//克隆表结构
dtResult = argDataTable.Clone();
foreach (DataColumn col in dtResult.Columns)
{
if (col.ColumnName == "RQ")
{
//修改列类型
col.DataType = typeof(String);
}
}
foreach (DataRow row in argDataTable.Rows)
{
DataRow rowNew = dtResult.NewRow();
rowNew["DTBM"] = row["DTBM"];
//修改记录值
rowNew["RQ"] = Convert.ToDateTime(row["RQ"]).ToString("yyyy-MM-dd").ToString();
rowNew["DWBM"] = row["DWBM"];
rowNew["DWMC"] = row["DWMC"];
rowNew["YYID"] = row["YYID"];
rowNew["YYMC"] = row["YYMC"];
rowNew["YXCL"] = row["YXCL"];
dtResult.Rows.Add(rowNew);
}
return dtResult;
}
VB:
Dim
dt
As
New
DataTable
Dim
dc
As
DataColumn
=
dt.Columns(i)
'i就是第几列或者用列名也可以
dc.DataType
=
Type.GetType("System.String")
C#:
DataTable
dt
=
new
DataTable();
DataColumn
dc
=
dt.Columns(i);//i就是第几列或者用列名也可以
dc.DataType
=
Type.GetType("System.String");
你可以试下,double转string应该是可以的,不知道你为什么要这么做
用dt.Column[i].后面应该有相应的属性的
for(int i=0;i
VB:
Dim dt As New DataTable
Dim dc As DataColumn = dt.Columns(i) 'i就是第几列或者用列名也可以
dc.DataType = Type.GetType("System.String")
C#:
DataTable dt = new DataTable();
DataColumn dc = dt.Columns(i);//i就是第几列或者用列名也可以
dc.DataType = Type.GetType("System.String");
你可以试下,double转string应该是可以的,不知道你为什么要这么做