|
■No76799 (まさ さん) に返信 > オーバライドしたPaintメソッド中で、DataGridView同列の最大値を取得することを考えています。
描画系のメソッド/イベントは多数ありますが、どれのことでしょうか? DataGridView.OnRowPrePaint DataGridView.OnRowPostPaint DataGridView.OnCellPainting DataGridViewCell.Paint
DataGridView には多数のセルがあり、スクロールや列幅変更などで頻繁に描き変わります。 そのため、セル内の描画中に他のセルの値を参照しようとすると、その部分が ボトルネックとなり、パフォーマンスを下げてしまうことがありますので注意して下さい。
> 随時、追加されていく行を考慮して、最大値(列の値)を取得するには、どのようにする必要があるでしょうか? DataSet をバインドしているなら、あらかじめ、 式列(expression column)を追加しておくのは如何でしょう。
dataTable1.Columns.Add("最終更新日", typeof(DateTime), "MAX(更新日)"); dataTable1.Columns.Add("最大販売額", typeof(decimal), "MAX(販売額)");
あるいは、Compute メソッドや LINQ で算出しても良いですけど。 maxCost = dataTable1.Compute("MAX(販売額)", "");
|