Ниже мой код, который я использую
private DataTable GenerateTransposedTable(DataTable inputTable)
{
DataTable outputTable = new DataTable();
// Add columns by looping rows
// Header row's first column is same as in inputTable
outputTable.Columns.Add(inputTable.Columns[0].ColumnName.ToString());
// Header row's second column onwards, 'inputTable's first column taken
foreach (DataRow inRow in inputTable.Rows)
{
string newColName = inRow[0].ToString();
DataColumnCollection columns = outputTable.Columns;
if (!columns.Contains(newColName))//code to check duplication of columns
{
outputTable.Columns.Add(newColName);
}
}
// Add rows by looping columns
for (int rCount = 1; rCount <= inputTable.Columns.Count - 1; rCount++)
{
DataRow newRow = outputTable.NewRow();
// First column is inputTable's Header row's second column
newRow[0] = inputTable.Columns[rCount].ColumnName.ToString();
for (int cCount = 0; cCount <= inputTable.Rows.Count - 1; cCount++)
{
string colValue = inputTable.Rows[cCount][rCount].ToString();
//int rowcount = cCount + 1;
//if (cCount <= rowcount)
//{
newRow[cCount + 1] = colValue; //**Error here when starts second record**
//}
}
outputTable.Rows.Add(newRow);
}
//for (int i = outputTable.Rows.Count - 1; i >= 0; i--)
for (int j = 0; j < outputTable.Columns.Count;j++)
{
for (int k = 0; k < outputTable.Rows.Count; k++)
{
string sdfsdf = outputTable.Rows[k][j].ToString();
if (outputTable.Rows[k][j].ToString() == "0")
{
DataRow dr = outputTable.Rows[k];
dr.Delete();
}
}
}
outputTable.AcceptChanges();
return outputTable;
}
Ниже приведены данные формата, которые я получаю из XML, который я преобразовываю в таблицу данных, как показано ниже:
dataTable
**Columnname value**
CANDIDATEID 3215456454454
Last Name demo1
Email demo1@gmail.com
Mobile 0000000
Experience in Years null
Current Employer null
CANDIDATEID 2515456564
Last Name demo2
Email test@gmail.com
Mobile 354564654
Experience in Years null
Current Employer null
Мне нужен вывод, как показано ниже: имена столбцов (для примера я указал здесь только несколько столбцов, мне нужны все столбцы, которые я получаю в датированном формате).
CandidateId Last Name Email Mobile etc
3215456454454 demo1 demo1@gmail.com 00000000
2515456564 demo2 test@gmail.com 354564654