分類:[.NET 全般]
フレームワーク: .NET 6.0
言語:C#
private List<CANData> dataList = new List<CANData>();
public Form1()
{
InitializeComponent();
dataGridView.DataSource = bindingSource1;
bindingSource1.DataSource = dataList;
}
という風に、DataGridViewにdataListをバインドした状態です。
dataListのデータは1ms以下の頻度で次々に追加されます。
現状 System.Timers.TimerをInterval = 100 にして
timer1_Tick()で
this.bindingSource1.ResetBindings(false);
を呼んで表示を更新しております。
動作はしているのですが、
データが数千を超えてくると、最小化して最大化したときの読み込みに時間がかかったり
数十万を超えてくると固まったような動作になります。
そこで仮想モードを使ってみたいのですが
バインドと仮想モードの併用はできるのでしょうか?
実際にやってみると、
dataGridView.VirtualMode = Trueにしても
dataGridView_CellValueNeededイベントが全く呼び出されません。
スクロールしたり、最小化最大化しても呼び出されません。
併用はできないのでしょうか?
|