Datatable不可以排序,要想排序只能是给它的视图DataView进行排序,这在制作Chart时很重要,因为对于时序图而言,必须首先按照时间进行排序。 private void toolStripMenuItem1_Click(object sender, EventArgs e) { DataTable dt = this.dataGridView1.DataSource as DataTable; dt.DefaultView.Sort = "年份"; DataView dv= new DataView(dt);//数据视图,Datatable无法排序 dv.Sort = "年份"; ChartForm frm = new ChartForm(); frm.chart1.DataSource = dv; frm.chart1.Series[0].XValueMember = "年份"; frm.chart1.Series[0].YValueMembers = strColumnName; MessageBox.Show(strColumnName); frm.chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine; frm.Show(); }