DataTable行转列
DataTable vTbl = new DataTable();//最终显示的数据
vTbl.Columns.Add("Datadate", typeof(String));
vTbl.Columns.Add("10kV", System.Type.GetType("System.Double"));
vTbl.Columns.Add("10kV及以下", System.Type.GetType("System.Double"));
vTbl.Columns.Add("0.4kV", System.Type.GetType("System.Double"));
DataRow[] DrS;
DataRow[] DrS1;
DataRow[] DrS2;
DataRow[] DrS3;
DrS1 = iTbl.Select("OBJECTNAME='10'");
DrS2 = iTbl.Select("OBJECTNAME='10kV及以下'");
DrS3 = iTbl.Select("OBJECTNAME='0.4'");
if (DrS1.Length > DrS2.Length)
{
DrS = DrS1;
}
else
{
DrS = DrS2;
}
if (DrS.Length > DrS3.Length)
{ }
else { DrS = DrS3; }
if (DrS.Length > 0)
{
for (int i = 0; i < DrS.Length; i++)
{
DataRow drx = vTbl.NewRow();
drx[0] = DrS[i]["日期"].ToString();
DrS1 = iTbl.Select("OBJECTNAME='10' and 日期='" + DrS[i]["日期"].ToString() + "'");
if (DrS1.Length > 0)
{
drx[1] = DrS1[0]["线损率(%)"].ToString();
}
else
{
drx[1] = DBNull.Value;
}
//drx[1] = DrS[i]["线损率(%)"].ToString();
DrS2 = iTbl.Select("OBJECTNAME='10kV及以下' and 日期='" + DrS[i]["日期"].ToString() + "'");
if (DrS2.Length > 0)
{
drx[2] = DrS2[0]["线损率(%)"].ToString();
}
else
{
drx[2] = DBNull.Value;
}
DrS3 = iTbl.Select("OBJECTNAME='0.4' and 日期='" + DrS[i]["日期"].ToString() + "'");
if (DrS3.Length > 0)
{
drx[3] = DrS3[0]["线损率(%)"].ToString();
}
else
{
drx[3] = DBNull.Value;
}
vTbl.Rows.Add(drx);
}
}
if (dianyadengji2 == "不选择")
{
if (ntype == "5000")
{
}
if (ntype == "5001")
{
vTbl.Columns.Remove("10kV及以下");
}
}
if (dianyadengji2 == "10kV")
{
vTbl.Columns.Remove("10kV及以下");
vTbl.Columns.Remove("0.4kV");
}
if (dianyadengji2 == "0.4kV")
{
vTbl.Columns.Remove("10kV及以下");
vTbl.Columns.Remove("10kV");
}
if (dianyadengji2 == "10kV及以下")
{
vTbl.Columns.Remove("0.4kV");
vTbl.Columns.Remove("10kV");
}