2015-05-13 74 views
-1

這是我的問題,我有一個表單(我們將其命名爲F_report),在這種形式中我有一個datagridview,我通過編程添加一些列並填充它們。 我的F_report表單用於許多其他形式來查看這麼多報告的結果。獲取無效的操作異常排序Datagridview

某些報告需要datagridview列可排序,但其中一些列必須具有不可分配模式。

我在添加新列到我的datagridview的時候,我想notsortable列的報告使用該代碼

For j = 0 To F_report.dgv_report.ColumnCount - 1 
    F_report.dgv_report.Columns(j).SortMode = DataGridViewColumnSortMode.NotSortable 
Next 

此代碼工作正常,但我有一個問題,當我點擊的DataGridView的列標題,我得到一些奇怪的這樣的豁免:

Column header's SortGlyphDirection cannot be set to Ascending while the column's SortMode is set to NotSortable. 

我不希望顯示此錯誤,我該怎麼辦?

Regards

回答

0

請提一下如何爲數據網格視圖提供數據。您是使用代碼填充它,還是將其數據源設置爲數據表或集合?

如果您正在設置其數據源,您將無法對數據網格視圖進行排序。在這種情況下,你需要排序的數據源

+0

謝謝您的回答,我提供我的數據只是這樣的: F_report.dgv_report.Item(「MyColumn」,MyRow).value的=「SampleString」 –

+0

所以,我希望你過的所有列到你的dgv_report.Columns 。新增(MyColumn);和MyColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; – Vandita

+0

但我不希望我的datagridview列可排序 –

0

您可以嘗試使用

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
//Manage mouse click here 
} 

希望它幫助。

+0

謝謝,但它並沒有幫助,我已經ColumnHeaderMouseClick事件已經但我的錯誤顯示在ColumnHeaderMouseClick之前甚至fiers –

+0

好吧試試這個鏈接https://social.msdn.microsoft .COM /論壇/窗/ EN-US/9addc65a-4ac0-42f4-94cd-1378f115c072/datagridview的列頭,選擇和排序 –