私は、DataGridViewの代わりに、好ましくは無料です。アルファベットや数値の両方の値をソートすることができ、13の列を持つ数百の行を比較的シームレスに処理することができる必要があります - 行を一度追加するだけですが、データの大部分(9行程度)約0.5秒ごとに更新されます。 私はdatagridviewを試しましたが、残念ながら、私のニーズには十分に速くないだけです - 追加するには、実装された並べ替えはひどいです。例えば、数値ソーティング:100,1009,102,102,106,1061,107,108,1115。 効果的な代替案に関する提案はありますか? ありがとうございました! DataGridViewののDoubleBuffered
を設定効率的なDataGridView代替
0
A
答えて
0
は、パフォーマンスが向上します。このトピックについての詳細を学ぶため
そのWikipediaのリンクの「ダブルバッファリングコンピュータグラフィックスにおける」セクションを参照してください:Multiple buffering。ウィキペディアから
:
ピクセルがない 変更回以上行うようにプログラムが表示を描画することは困難です。テキストのページを更新する場合たとえば、それ は、ページ全体をクリアして、何とか古いものと新しい 文字の両方に含まれていないすべてのピクセルを消去する よりも、文字を描画する方がはるかに簡単です
あなたがあなたのコメントで述べたlinkの著しい答えが仕事 を行いますが、それはReflection
を使用し、それなしにその結果を達成することが可能であるときReflection
の使用を避けるほうがよいです。
より良い解決策は、独自のカスタムのDataGridViewを作成DoubleBufferedを設定し、GUIでカスタムコントロールを実装することです。例えば
:
class MyCustomDataGridView: System.Windows.Forms.DataGridView
{
public MyCustomDataGridView(): base()
{
base.DoubleBuffered = true;
}
}
0
@Jonathanaすごいです!どうもありがとうございます!よく働く! :) 私はあなたの答えを+1しましたが、私は15人未満の担当者しかいませんでしたが、それは効果がありません....それにもかかわらず、解決策です!また 、それはプログラムの理由の一部だとしてソート用として、私は本当にそれを必要とする...ユーザーはそれがあることを望んでいるかに応じて並べ替えることができる必要がある。.. SortCompare方法にこれを追加しました:
if (e.Column.Index > 0 && e.Column.Index <COLUMN_COUNT) //first column is text, default sort is fine..
{
e.SortResult = double.Parse(e.CellValue1.ToString()).CompareTo(double.Parse(e.CellValue2.ToString()));
e.Handled = true;
}
関連する問題
- 1. 効率的な代替
- 2. 効率的な "in"の代替
- 3. ユニオンステートメントの効率的な代替方法
- 4. (getimagesizeへの効率的な代替)
- 5. redux-sagaはミドルウェアの効率的な代替品ですか?
- 6. 効率的なスタックの代替<Double>
- 7. コレクションを公開するための効率的な代替方法
- 8. iPhoneアプリの設定を保存する最も効率的な代替方法
- 9. DataGridViewの代替手段
- 10. data.table DT [、x:= f(y)、by = z]としてグループ化された代入の効率的な代替?
- 11. 効率的なタイマーアルゴリズム
- 12. 効率的なリストコピー
- 13. 効率的なストップウォッチ
- 14. 効率的なワードスクランブルアルゴリズム
- 15. 効率的なウェブカメラライブラリ
- 16. 効率的なフレームカットアルゴリズム
- 17. 効率的なパーティクルリンクアルゴリズム
- 18. 効率的な循環キューの並べ替え
- 19. View Controller間の効率的な切り替え
- 20. DataGridviewデータからクラスを効率的に作成する
- 21. BMI2を使用しないでPDEPへのポータブルな効率的な代替方法はありますか?
- 22. は、代替offsetofは近代的なC++
- 23. Haskellの効率的なオーバーロード
- 24. 効率的なDirectXレンダリング
- 25. 効率的な実装 - アンドロイド
- 26. スペース効率的なトライ
- 27. 効率的な方法は
- 28. 効率的なWebクローリング
- 29. 効率的なDrawing with DrawingGroup
- 30. 効率的な反復が
あなたはあなたのdatagridviewに 'DoubleBuffered'を設定しようとしましたか? (パフォーマンスを大幅に向上させることができます)。 – jonathana
@jonathana WOW!うんざり!どうもありがとうございます!私は、私はちょうどそれを見て、この内のコードからそれを設定します。 https://stackoverflow.com/questions/4255148/how-to-improve-painting-performance-of-datagridview 何の違いを!それは大きな助けです! ここで、ソートの問題について特別な提案がありますか? –
DGVはデータにバインドされていますか? – TaW