DataGridView自定義排序

2021-05-22 23:13:50 字數 950 閱讀 6395

.net自帶datagridview排序貌似最終都是用datagridview.sort(....),發現當是用排序後,datagridview將把排序前的行樣式等重置,仔細測試後覺得貌似是排序時datagridview重新繫結了資料來源,具體不得而知......

實在沒有辦法破解,我也不想重新寫比較來排序,用了最土的辦法,希望有人能給出正確的排序方法,使行樣式排序後還在

protected override void oncolumnheadermouseclick(datagridviewcellmouseeventargs e)

else

}else

// 排序

if (newcolumn != null)

st1.add(guid, row.defaultcellstyle.clone());

rowheight.add(guid, row.height);

rowselected.add(guid, row.selected);

}this.sort(newcolumn, direction);

//圖示

newcolumn.headercell.sortglyphdirection =

direction == listsortdirection.ascending ?

sortorder.ascending : sortorder.descending;

//重新繫結外觀

//this.defaultcellstyle = st0;

foreach (datagridviewrow row in this.rows)

row.defaultcellstyle = st1[guid];

row.height = rowheight[guid];

row.selected = rowselected[guid];}}

}#endregion

}

讓Datagridview支援自定義回車事件

vb.net中的datagridview控制項,無法對單元格的回車事件,進行繫結,這對程式設計師來說,是個 煩。vb.net中datagridview的回車事件預設是單元格下移動的功能,無法改變。下面提供一種方法,實現對datagridview中的回車事件進行繫結。首先過載系統事件,遮蔽原來的事件,...

datagridview 自定義列三步走

我們如果想自定義實現datagridview的某列,例如是datagridview的某列顯示為乙個日期控制項datatimepicker,或者顏色拾取器控制項colorpicker,我們可以大致按如下模式來設計 1.設定列,建立乙個類,使之繼承datagridviewcolumn列 public p...

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...