我正在使用Fusionchart来显示我的数据。所以我创建了一个stringbuilder,它插入了数据。我使用了一个堆叠列,这是一个多系列图表。 这就是我如何设置在SQL表中写入的值。
while (rst.Read())
{
for (int i = 0; i <= seriesQuantity; i++)
{
if (i == 0)
{
// Category-stringbuilder
stringbuilders[i].AppendFormat("<category label='{0}'/>", rst[0].ToString());
}
else
{
stringbuilders[i].AppendFormat("<set value='{0}'/>", rst[i].ToString());
}
}
}
但是有一个我需要设置的系列名称。我用这段代码做的。现在系列名称显示为1-4,但我需要它们具有colunname的值。 如何才能显示列的名称?
for (int i = 0; i <= seriesQuantity; i++)
{
if (i == 0)
{
xmlStr.Append("<categories>" + stringbuilders[i].ToString() + "</categories>");
}
else
{
xmlStr.Append("<dataset seriesName='" + i + "'>" + stringbuilders[i].ToString() + "</dataset>");
}
}
xmlStr.Append("</chart>");
答案 0 :(得分:2)
答案 1 :(得分:1)
为什么要强行打开门? ;)
您可以使用XDocument
,XElement
类创建名称为datatable列的XML文档。
看看这里:
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("ID", Type.GetType("System.Int32"));
dt.Columns.Add(dc);
dc = new DataColumn("sID", Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("FirstName", Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("LastName", Type.GetType("System.String"));
dt.Columns.Add(dc);
XDocument xDoc = new XDocument();
XElement xRoot = new XElement("Categories");
foreach (DataColumn c in dt.Columns)
{
xRoot.Add(new XElement("Category", new XAttribute("label", c.ColumnName)));
}
xDoc.Add(xRoot);
结果:
<Categories>
<Category label="ID" />
<Category label="sID" />
<Category label="FirstName" />
<Category label="LastName" />
</Categories>