我有一个文件,用于保存用户的统计信息。该文件有2行。我有一个示例文件,其中包含以下内容“23 \ n48”。 我将它加载到一个字符串数组并将其返回到我的图表的DataSource。 一旦我使它工作但现在它没有显示任何改变了一些属性后按ctrl + z取消更改但我确信源代码没有任何改变。 现在它保持空白,就像它的DataSource是NULL一样。 我删除了图表并重新初始化它,而没有更改它的属性,除了将chartType设置为“pie”但没有帮助。我用调试器检查了图表的源代码,它具有文件的值。但我不明白为什么它在搜索几个小时后不再显示给我。我知道它适用于数组,因为我做了一次所以请不要告诉我我也可以尝试其他类型的数据,如DataTable。我现在有点好奇:P
这是我输入的内容:
chart1.DataSource = File.ReadAllLines("Stats/" + sender.toString());
Method ReadAllLines返回带有值的字符串数组。我也试过转换并将它放入一个int数组但仍然没有结果:(
我希望我提供有关我的问题的足够信息。 对不起,如果我的英语不好。这不是我的主要语言。
哦,我正在使用Visual Studio 2012和C#作为语言
致敬(新手)ExSynth:)
编辑(已解决): 这是我的源代码的更大片段:
private void Form1_Load(object sender, EventArgs e)
{
if (!Directory.Exists("Languages")) { Directory.CreateDirectory("Languages"); }
if (!Directory.Exists("Stats")) { Directory.CreateDirectory("Stats"); }
RefreshLanguages();
}
private void spracheHinzufügenToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!Directory.Exists("Languages")) { Directory.CreateDirectory("Languages"); }
Add_Language Add_Language = new Add_Language();
Add_Language.ShowDialog();
RefreshLanguages();
}
private void RefreshLanguages()
{
int j = spracheAuswählenToolStripMenuItem.DropDownItems.Count;
for (int i = 0; i < j; i++) { spracheAuswählenToolStripMenuItem.DropDownItems.RemoveAt(0); }
string[] fileListWithPath = Directory.GetFiles("Languages");
for (int i = 0; i < fileListWithPath.Length; i++)
{
ToolStripMenuItem item = new ToolStripMenuItem(System.IO.Path.GetFileName(fileListWithPath[i]));
item.Click += new System.EventHandler(this.Abfragen);
spracheAuswählenToolStripMenuItem.DropDownItems.Add(item);
}
}
private void Abfragen(object sender, EventArgs e)
{
lbl_Language.Text = sender.ToString();
chart1.DataSource = File.ReadAllLines("Stats/" + sender.ToString());
chart1.DataBind();
}
编辑:
我解决了我的问题。我在互联网上找不到任何有用的东西,所以我查了一下旧的源代码,发现了这个:
chart_History.DataSource = table; // sets the datasource of the chart to the datatable which was filled above
chart_History.Series[0].XValueMember = table.Columns["index"].ToString(); // sets the datasource of the X-Axis of the chart
chart_History.Series[0].YValueMembers = table.Columns[Convert.ToString(cmbBox_List.SelectedIndex + 1)].ToString(); // sets the datasource of the Y-Axis of the chart
chart_History.Series[0].LegendText = cmbBox_List.SelectedItem.ToString(); // Sets the string of the legend to the selected item of the combobox
chart_History.DataBind(); // Finally binds the Information to the chart
显然我必须声明X轴和Y轴...... 所以我按CTRL + Z错误地删除了一些东西...... 但我想我会改用DataTable。它与阵列太混乱了。 谢谢你的帮助。 我希望这将有助于未来的其他人:)
答案 0 :(得分:0)