サポート&サービス

Home > サポート&サービス > テクニカルサポート > ナレッジベース

テクニカルサポート

製品に関する技術的なサービスを提供しています。製品別の技術情報(ナレッジベース)および、対応環境情報をご覧いただけます。また、E-mailによるテクニカルサポートのお申し込みもこちらで受け付けています。

ComponentOne サブスクリプション製品をご購入された方

サブスクリプションにて、ComponentOne製品(ComponentOne Studio、Wijmo、Xuni)をご購入された方は、下記のComponentOne Studioサイトからユーザー登録をお願いいたします。

ComponentOne サブスクリプション製品のユーザー登録を行う

ナレッジベース

CellValueChanging/CellValueChangedイベントで取得するRowインデックスの値が不正になる
文書番号 : 41405     文書種別 : Bug
登録日 : 2017/11/06     最終更新日 : 2017/11/13
文書を印刷する
対象製品
SPREAD for WPF 2.0J
ステータス
現象確認済み
詳細
InsertUnboundRowメソッドで任意の場所に行を挿入した場合、CellValueChangingイベントおよびCellValueChangedイベントで取得するRowインデックスの値が不正になります。

例えば、2行のGcSpreadGridに対して、InsertUnboundRowメソッドで先頭に1行追加します。次に、追加した先頭行の任意のセルを編集します。この際、CellValueChanging/CellValueChangedイベントで取得するe.Rowの値が「2」となります。
※この場合、正しい値は、先頭行を表す「0」です。
回避方法
CellEditEndingイベントでCellPositionを取得して、これをもとにRowインデックスの値を参照します。
※ただし、こちらの方法は、セルに直接入力して値を変更した場合にのみ有効です。コード処理で値をセットした場合やペーストを行った場合にはCellEditEndingイベントが発生しないため、対処することができません。

◎サンプルコード(VB.NET)
Dim cellPosition As GrapeCity.Windows.SpreadGrid.CellPosition

Private Sub gcSpreadGrid1_CellEditEnding(sender As Object, e As GrapeCity.Windows.SpreadGrid.SpreadCellEditEndingEventArgs) Handles gcSpreadGrid1.CellEditEnding
  cellPosition = e.CellPosition
End Sub

Private Sub gcSpreadGrid1_CellValueChanged(sender As Object, e As CellValueChangedEventArgs) Handles gcSpreadGrid1.CellValueChanged
  gcSpreadGrid1.Cells(cellPosition.Row, cellPosition.Column).Background = System.Windows.Media.Brushes.LightBlue
End Sub

◎サンプルコード(C#)
GrapeCity.Windows.SpreadGrid.CellPosition cellPosition;

private void gcSpreadGrid1_CellEditEnding(object sender, GrapeCity.Windows.SpreadGrid.SpreadCellEditEndingEventArgs e)
{
  cellPosition = e.CellPosition;
}

private void gcSpreadGrid1_CellValueChanged(object sender, GrapeCity.Windows.SpreadGrid.CellValueChangedEventArgs e)
{
  gcSpreadGrid1.Cells[cellPosition.Row, cellPosition.Column].Background = System.Windows.Media.Brushes.LightBlue;
}
キーワード
60045

この情報は、疑問・問題解決のお役に立ちましたか?

    


こちらに入力されたご質問には回答できませんので、製品に関するお問い合わせは、別途「E-mailサポート」をご利用ください。


※ 個人情報保護のため、個人情報の記入はご遠慮ください。

このページの先頭へ