2011-12-12 32 views

回答

1

您可以使用从DataGridViewCellEventArgsColumnIndex财产sort

public Form1() 
    { 
     InitializeComponent(); 

     dataGridView1.CellValueChanged +=new DataGridViewCellEventHandler(dataGridView1_CellValueChanged); 

     DataTable dt = new DataTable(); 
     dt.Columns.Add(new DataColumn("col1")); 
     dt.Columns.Add(new DataColumn("col2")); 
     dt.Columns.Add(new DataColumn("col3")); 

     var r1 = dt.NewRow(); 
     r1["col1"] = "a1"; 
     r1["col2"] = "b1"; 
     r1["col3"] = "c1"; 

     var r2 = dt.NewRow(); 
     r2["col1"] = "a2"; 
     r2["col2"] = "b2"; 
     r2["col3"] = "c2"; 

     var r3 = dt.NewRow(); 
     r3["col1"] = "a3"; 
     r3["col2"] = "b3"; 
     r3["col3"] = "c3"; 

     dt.Rows.Add(r1); 
     dt.Rows.Add(r2); 
     dt.Rows.Add(r3); 

     BindingSource bs = new BindingSource(); 
     bs.DataSource = dt; 

     dataGridView1.DataSource = bs; 

    } 

    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
    { 
     var dataGrid = (DataGridView)sender; 
     var dataGridColumn = dataGrid.Columns[e.ColumnIndex]; 
     dataGrid.Sort(dataGridColumn, ListSortDirection.Ascending); 
    } 
+0

私人无效datagrid_CellValueChanged(对象发件人,DataGridViewCellEventArgs E) {...... ((DataGridView中)发送方)的.sort(((的DataGridView )sender).Columns [“dgvcOperateur”],ListSortDirection.Ascending); }此代码给出错误。你可以给一些例子或示例代码。用于对cellvaluechanged排序数据网格。 – user990897

+0

错误是什么? – StaWho

+0

DataGridView控件必须绑定到要排序的IBindingList对象。 – user990897

相关问题