サポート&サービス

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

テクニカルサポート

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

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

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

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

ナレッジベース

【表示】DefaultSheetStyleModelクラスを継承するとスタイルが正しく適用されない場合がある
文書番号 : 41372     文書種別 : Bug
登録日 : 2017/10/05     最終更新日 : 2017/10/05
文書を印刷する
対象製品
SPREAD for Windows Forms 10.0J
ステータス
回避方法あり
詳細
DefaultSheetStyleModelクラスを継承するとスタイルが正しく適用されない場合があります。

【再現手順】
1.サンプルコードをコピーしてアプリケーションを起動します
2.「コピー先」タブをクリックします
 -- 「コピー元」のスタイルがコピーされません

【サンプルコード】
Public Class Form1
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    FpSpread1.Sheets.Count = 2
    FpSpread1.Sheets(0).SheetName = "コピー元"
    FpSpread1.Sheets(1).SheetName = "コピー先"

    FpSpread1.Sheets(0).AlternatingRows.Count = 2
    FpSpread1.Sheets(0).AlternatingRows(0).BackColor = Color.RoyalBlue

    Dim StyleModel1 As New DefaultSheetStyleModelEx(FpSpread1.Sheets(0))
    FpSpread1.Sheets(1).Models.Style = StyleModel1
  End Sub
End Class

Public Class DefaultSheetStyleModelEx
  Inherits FarPoint.Win.Spread.Model.DefaultSheetStyleModel

  Private SheetView1 As FarPoint.Win.Spread.SheetView

  Public Sub New(StyleSheet As FarPoint.Win.Spread.SheetView)
    MyBase.New(StyleSheet.RowCount, StyleSheet.ColumnCount)
    SheetView1 = StyleSheet
  End Sub

  Public Overrides Function GetCompositeInfo(row As Integer, column As Integer, altIndex As Integer, destInfo As FarPoint.Win.Spread.StyleInfo) As FarPoint.Win.Spread.StyleInfo
    Return SheetView1.Models.Style.GetCompositeInfo(row, column, altIndex, destInfo)
  End Function
End Class
回避方法
DefaultSheetStyleModel型を返す独自の関数を新たに作成して、フォーム側のクラスから呼び出します。

Public Class Form1
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    FpSpread1.Sheets.Count = 2
    FpSpread1.Sheets(0).SheetName = "コピー元"
    FpSpread1.Sheets(1).SheetName = "コピー先"

    FpSpread1.Sheets(0).AlternatingRows.Count = 2
    FpSpread1.Sheets(0).AlternatingRows(0).BackColor = Color.RoyalBlue

    Dim StyleModel1 As New DefaultSheetStyleModelEx(FpSpread1.Sheets(0))
    'FpSpread1.Sheets(1).Models.Style = StyleModel1
    ' 回避策(1)
    FpSpread1.Sheets(1).Models.Style = StyleModel1.StyleSheetStyleModel
  End Sub
End Class

Public Class DefaultSheetStyleModelEx
  Inherits FarPoint.Win.Spread.Model.DefaultSheetStyleModel

  Private SheetView1 As FarPoint.Win.Spread.SheetView

  ' 回避策(2)
  Public Function StyleSheetStyleModel() As FarPoint.Win.Spread.Model.DefaultSheetStyleModel
    Return SheetView1.Models.Style
  End Function
  
  Public Sub New(StyleSheet As FarPoint.Win.Spread.SheetView)
    MyBase.New(StyleSheet.RowCount, StyleSheet.ColumnCount)
    SheetView1 = StyleSheet
  End Sub

  Public Overrides Function GetCompositeInfo(row As Integer, column As Integer, altIndex As Integer, destInfo As FarPoint.Win.Spread.StyleInfo) As FarPoint.Win.Spread.StyleInfo
    Return SheetView1.Models.Style.GetCompositeInfo(row, column, altIndex, destInfo)
  End Function
End Class

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

    


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


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

このページの先頭へ