[GcSpreadGrid] ShowCellメソッドの機能が動作しない場合の対処方法

文書番号 : 85112     文書種別 : 使用方法     登録日 : 2020/05/21     最終更新日 : 2020/05/21
文書を印刷する
対象製品
SPREAD for WPF 3.0J
詳細
ShowCellメソッド(指定したセルをスクロールして表示する機能)が、実行のタイミングによって動作しない場合があります。これは、列や行が完全に生成、表示されていないタイミングでメソッドを実行していることが原因の場合があります。以下は、その例と対処方法です。

【発生例】
ボタンのクリックイベント内で、RowCountプロパティの設定とShowCellメソッドを実行を同時に行った場合

◎サンプルコード(C#)
private void Button_Click(object sender, RoutedEventArgs e)
{
    GcSpreadGrid1.RowCount = 100;
    GcSpreadGrid1.ActiveCellPosition = new CellPosition(80, 1);
    GcSpreadGrid1.ShowCell(80, 1);
}

【対処方法】
BeginInvokeメソッドを使用してShowCellメソッドを実行する

◎サンプルコード(C#)
private void Button_Click(object sender, RoutedEventArgs e)
{
    GcSpreadGrid1.RowCount = 100;
    //GcSpreadGrid1.ActiveCellPosition = new CellPosition(80, 1);
    //GcSpreadGrid1.ShowCell(80, 1);

    System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.ApplicationIdle, new Action(ActiveCell));
}

public void ActiveCell()
{
    GcSpreadGrid1.ActiveCellPosition = new CellPosition(80, 1);
    GcSpreadGrid1.ShowCell(80, 1);
}
関連情報