public override string ToString()
{
// Create a StringBuilder
StringBuilder Builder = new StringBuilder();
// Transpose is a special format used with &transpose=1
if (Transpose)
{
// Start off with header... for each row, we need a \tD
String D = "\tD";
Builder.Append("\nH" + D.Repeat(Rows.Count));
// Each header gets its own line, with data lines seperated by a tab
int i = 0;
foreach (string Header in Headers)
{
string Line = "\n" + Header;
foreach (List<string> Row in Rows)
Line = String.Concat(Line, "\t", Row[i]);
// Append header and data line
Builder.Append(Line);
i++;
}
return Builder.ToString();
}
else
{
// Add Headers
Builder.AppendFormat("\nH\t{0}", String.Join("\t", Headers));
// Add Data
foreach (List<string> Items in Rows)
Builder.AppendFormat("\nD\t{0}", String.Join("\t", Items));
// Return lines
return Builder.ToString();
}
}