[GcSpreadGrid] セルの設定後に行や列の設定を行っても反映されない

文書番号 : 85058     文書種別 : 使用方法     登録日 : 2020/03/27     最終更新日 : 2020/03/27
文書を印刷する
対象製品
SPREAD for WPF 3.0J
詳細
SPREADでは様々な要素(セル、行、列など)で外観やセル型などの設定を行うことができ、その設定には優先順位が存在します。

コントロール
 |- 交互の行
   |- 列
     |- グループ ヘッダ/フッタ
       |- 行
         |- 新規行
           |- セル

上のツリーで表したように、領域を構成する要素は互いに親子関係にあります。「子」の要素は、既定で「親」の要素の設定を継承します。例えば、行に背景色を設定すると、その行に含まれるセルにも同じ背景色が適用されます。また、「子」の要素に対する設定は、「親」から継承した設定よりも優先されます。例えば、セルに背景色を設定すると、行から継承した背景色は上書きされます。

そのため、セルの設定後に行や列の設定を有効にしたい場合は、「子」の要素であるセルの設定をクリアする必要があります。

◎サンプルコード(VB)
Public Sub New()
    InitializeComponent()

    GcSpreadGrid1.Cells(1, 1).Background = New SolidColorBrush(Colors.AliceBlue)
End Sub

Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    GcSpreadGrid1.Cells(1, 1).Background = Nothing
    GcSpreadGrid1.Columns(1).Background = New SolidColorBrush(Colors.Beige)
End Sub

◎サンプルコード(C#)
public MainWindow()
{
    InitializeComponent();

    gcSpreadGrid1.Cells[1, 1].Background = new SolidColorBrush(Colors.AliceBlue);
}

private void button1_Click(object sender, RoutedEventArgs e)
{
    gcSpreadGrid1.Cells[1, 1].Background = null;
    gcSpreadGrid1.Columns[1].Background = new SolidColorBrush(Colors.Beige);
}