Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#将数据表行转换为具有自定义格式的列_C#_Asp.net_Linq_Gridview_Datatable - Fatal编程技术网

C#将数据表行转换为具有自定义格式的列

C#将数据表行转换为具有自定义格式的列,c#,asp.net,linq,gridview,datatable,C#,Asp.net,Linq,Gridview,Datatable,我正在使用asp.net web app.net版本4。我有一个如下所示的数据表: FCTR_GRP CUST_TIER CUST_TIER DSC SW Tier 1 1.000000 DSC SW Tier 2 1.000000 DSC SW Tier 3 1.000000 DSC SW Tier 4 1.000000 使用我从Netezza数据库读取的上述数

我正在使用asp.net web app.net版本4。我有一个如下所示的数据表:

    FCTR_GRP    CUST_TIER   CUST_TIER
    DSC SW      Tier 1      1.000000
    DSC SW      Tier 2      1.000000
    DSC SW      Tier 3      1.000000
    DSC SW      Tier 4      1.000000 
使用我从Netezza数据库读取的上述数据表,我希望将其转换为如下数据表:

    FCTR_GRP    TIER_1      TIER_2    TIER_3    TIER_4
    DSC SW      1.000000    1.000000  1.000000  1.000000 
然后将其绑定到gridview。因为层可以稍后添加,所以gridview需要是动态的。 直到现在我一直到这里。我可以这样转换第一个数据表:

 FCTR_GRP    TIER_1      TIER_2    TIER_3    TIER_4
 DSC SW      1.000000    
 DSC SW                  1.000000  
 DSC SW                            1.000000  
 DSC SW                                      1.000000  
代码用作(不满意代码:(但没有其他选项)

如果我们可以转换最后一个数据表,如第二个数据表或任何电池选项,任何帮助都将非常有用。请提前感谢。

string html=“”;
string html = "<table>";
//add header row
html += "<tr>";
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
    html += "<td>" + ds.Tables[0].Columns[i].ColumnName + "</td>";
html += "</tr>";
//add rows
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
    html += "<tr>";
    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
        html += "<td>" + ds.Tables[0].Rows[i][j].ToString() + "</td>";
    html += "</tr>";
}
html += "</table>";
//添加标题行 html+=“”; 对于(int i=0;i
字符串html=”“;
//添加标题行
html+=“”;
对于(int i=0;i
您可以使用LINQ和use。这将在
DSC SW
上返回一个分组,其中所有元素都按所述值进行了行分组。听起来您需要旋转数据表。以下是一个示例。您希望在每个行x列中获得什么值?您可以使用LINQ和use。这将在
DSC SW
上返回一个分组,其中包含元素所有的行都按所述值分组。听起来您需要透视数据表。下面是一个示例。您希望在每个x行列中得到什么值?
string html = "<table>";
//add header row
html += "<tr>";
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
    html += "<td>" + ds.Tables[0].Columns[i].ColumnName + "</td>";
html += "</tr>";
//add rows
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
    html += "<tr>";
    for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
        html += "<td>" + ds.Tables[0].Rows[i][j].ToString() + "</td>";
    html += "</tr>";
}
html += "</table>";