Как привязать xamDataGrid к набору данных в WPF4?

Я разрабатываю приложение WPF4 и использую DataSet для заполнения xamDataGrid (от Infragistics). Вот xaml для datagrid:

<igDP:XamDataGrid AutoFit="True" BindToSampleData="False" Grid.Column="1" HorizontalAlignment="Center" HorizontalContentAlignment="Center" IsUndoEnabled="True" Margin="0,0,0,40" Name="xamDataGridOrganization" SortRecordsByDataType="True" UndoLimit="2" UseLayoutRounding="True" VerticalAlignment="Bottom" VerticalContentAlignment="Center" Padding="0" Panel.ZIndex="1" MaxWidth="Infinity">
        <igDP:XamDataGrid.FieldSettings>
            <igDP:FieldSettings AllowEdit="False" AllowGroupBy="True"  AllowRecordFiltering="True" />
        </igDP:XamDataGrid.FieldSettings>
        <igDP:XamDataGrid.FieldLayouts>
            <igDP:FieldLayout>
                <igDP:FieldLayout.Fields>
                    <igDP:Field Name="Id" Label="Id"/>
                    <igDP:Field Name="OrganizationName" Label="Organization" />
                    <igDP:Field Name="EmailId" Label="Email Address" />
                </igDP:FieldLayout.Fields>
            </igDP:FieldLayout>
        </igDP:XamDataGrid.FieldLayouts>
    </igDP:XamDataGrid>

Теперь код, который я использую для заполнения xamDataGrid:

var adcg = new OrganizationGridTableAdapter();
        AddressBookDataSet dbcg = new AddressBookDataSet();
        adcg.Fill(dbcg.OrganizationGrid);
        //xamDataGridIndividual.DataContext = dbc.Individual;
        xamDataGridOrganization.DataSource = dbcg.OrganizationGrid.DefaultView;

Теперь моя DataTable OrganizationGrid имеет поля:

  1. Идентификатор
  2. Название организации
  3. Идентификатор электронной почты

и некоторые другие поля..

Я хочу изменить текст в заголовке и некоторые другие свойства (ширина, размер текста).. как я могу это сделать?

Как вы можете видеть в коде XAML, я определил FieldLayout с точно такими же именами полей. Могу ли я привязать столбец из моей таблицы данных к определенному полю, определенному мной?


person manishKungwani    schedule 08.04.2011    source источник


Ответы (1)


Вы уже меняете заголовок с помощью Label.

 <igDP:Field Name="Id" Label="Id"/> 

В приведенном выше xaml вы уже привязываетесь к «Id» в своем источнике данных. Когда он связывается, он связывается по атрибуту Name.

Вы можете использовать FieldSettings для изменения внешнего вида с помощью стилей:

<igDP:Field.Settings>
    <igDP:FieldSettings 
        EditorType="{x:Type Editors:XamDateTimeEditor}"
        EditorStyle="{StaticResource ResourceKey=styleDateTime}">
    </igDP:FieldSettings>
</igDP:Field.Settings>

и стиль:

<Style x:Key="styleDateTime" TargetType="{x:Type Editors:XamDateTimeEditor}">
    <Setter Property="Format" Value="dd-MMM-yyyy HH:mm:ss" />
    <Setter Property="ValueType" Value="{x:Type System:DateTime}"/>
</Style>

поиск Infragistics для XamDataGrid.

Эта ссылка может помочь

person Bek Raupov    schedule 08.04.2011
comment
Следует отметить, что НАСТОЯЩАЯ ПРОБЛЕМА с моим кодом заключалась в том, что я не создал поля для всех столбцов DATATABLE!! Таким образом, он игнорировал мои поля и генерировал их все автоматически! - person manishKungwani; 08.04.2011