如下代码,点击datagridview的列头不能自动排序,不知为什么using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace ColumnSort
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); Init();
} private void Init()
{
DataGridViewTextBoxColumn c1 = new DataGridViewTextBoxColumn(); c1.Name = "c1";
c1.DataPropertyName = "A";
c1.SortMode = DataGridViewColumnSortMode.Automatic; dataGridView1.Columns.Add(c1);
DataGridViewTextBoxColumn c2 = new DataGridViewTextBoxColumn(); c2.Name = "c2";
c2.DataPropertyName = "B"; c2.SortMode = DataGridViewColumnSortMode.Automatic; dataGridView1.Columns.Add(c2);
} protected override void OnLoad(EventArgs e)
{
base.OnLoad(e); int j = 100;
BindingList<Data> bl = new BindingList<Data>();
for (int i = 0; i < 10; i++)
{
j--;
Data d = new Data(i.ToString(),j.ToString()); bl.Add(d);
} dataGridView1.DataSource = bl;
}
} class Data
{
public Data(string a, string b)
{
m_a = a;
m_b = b;
}
string m_a; public string A
{
get { return m_a; }
set { m_a = value; }
} string m_b; public string B
{
get { return m_b; }
set { m_b = value; }
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace ColumnSort
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); Init();
} private void Init()
{
DataGridViewTextBoxColumn c1 = new DataGridViewTextBoxColumn(); c1.Name = "c1";
c1.DataPropertyName = "A";
c1.SortMode = DataGridViewColumnSortMode.Automatic; dataGridView1.Columns.Add(c1);
DataGridViewTextBoxColumn c2 = new DataGridViewTextBoxColumn(); c2.Name = "c2";
c2.DataPropertyName = "B"; c2.SortMode = DataGridViewColumnSortMode.Automatic; dataGridView1.Columns.Add(c2);
} protected override void OnLoad(EventArgs e)
{
base.OnLoad(e); int j = 100;
BindingList<Data> bl = new BindingList<Data>();
for (int i = 0; i < 10; i++)
{
j--;
Data d = new Data(i.ToString(),j.ToString()); bl.Add(d);
} dataGridView1.DataSource = bl;
}
} class Data
{
public Data(string a, string b)
{
m_a = a;
m_b = b;
}
string m_a; public string A
{
get { return m_a; }
set { m_a = value; }
} string m_b; public string B
{
get { return m_b; }
set { m_b = value; }
}
}
}
DataGridView.SortOrder=SortOrder.Ascending;