/ Sichtbarkeit für xceed DataGridControl - wpf, datagrid, Sichtbarkeit, xceed, col

Spaltensichtbarkeit für xceed DataGridControl - wpf, datagrid, Sichtbarkeit, xceed, col

Ich habe ein xceed:DataGridControl mit gebundener ItemsSource. Derzeit versuche ich, meine in / visible-Spalten und den Titel / Headertext für jede sichtbare Spalte festzulegen. Vorzugsweise möchte ich eine Eigenschaft in meinem ViewModel binden, um die in / visible-Spalten und deren Titel festzulegen Ich könnte das. Weiß jemand eine Lösung für dieses Problem?

<xceed:DataGridControl
x:Name="dataGridControl"
SelectedItem="{Binding SelectedTextItem, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
ItemsSource="{Binding ItemsSourceData, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" >
</xceed:DataGridControl>

Antworten:

0 für die Antwort № 1

Ja, ich musste mich vor einigen Monaten mit den Steuerungen von xceed befassen.

Mit DataGridControl können Sie Spalten automatisch generieren. Das ist auch das Standardverhalten.

Um Ihre eigenen Spalten zu haben, müssen Sie die Eigenschaft deaktivieren AutoCreateColumns Außerdem müssen Sie einige Spalten für die Eigenschaft DataGridControl.Columns festlegen.

Dort kannst du binden Sichtbar Eigentum der Kolonne.

Danke an Peter für diesen Code:

<xceed:DataGridControl ItemsSource="{Binding TextSet}" >
<xceed:DataGridControl.Columns>
<xceed:Column FieldName="ColumnId" Title="{Binding DatagridTitle[ColumnId], Mode=OneWay}" Visible="True" />
</xceed:DataGridControl.Columns>
</xceed:DataGridControl>

0 für die Antwort № 2

Ich habe auch ein ähnliches Problem getroffen.

Du kannst den ... benutzen Sichtbar Eigenschaft, dann machen Sie folgendes:

<xcdg:ColumnFieldName="ColumnId" Title="ColumnId"
Visible="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type typeOfAncestor}}, Path=DataGridControl.DataContext.BooleanSourceProperty}"/>

Zum Beispiel, wenn die typeOfAncestor ist xcdg: MergedColumn und BooleanSourceProperty ist IsVisbledann sollte der Code sein:

<xcdg:ColumnFieldName="ColumnId" Title="ColumnId"
Visible="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type xcdg:MergedColumn}}, Path=DataGridControl.DataContext.IsVisible}"/>

Dann kann das Problem gelöst werden.