Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Привязка и настройка колонок в DataGrid 
:(
    Опции темы
Akella
  Дата 28.7.2011, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Есть DataGrid, привязанный к domainDataSource. 

Код

<sdk:DataGrid AutoGenerateColumns="True" HorizontalAlignment="Center" Margin="0,85,0,0" Name="dataGrid1" Width="640" DataContext="{Binding ElementName=domainDataSource1, Path=DataContext}" ItemsSource="{Binding ElementName=tabonentsDomainDataSource, Path=Data}" SelectionChanged="dataGrid1_SelectionChanged" Height="367" VerticalAlignment="Top"></sdk:DataGrid>

Как видите AutoGenerateColumns="True" отсутствует.

И здесь колонок нет
user posted image

Не могу понять, откуда взялись колонки в гриде.
При старте приложения грид пустой, хотя в таблице есть 2 записи.

Вот весь xaml
Код

<UserControl 
  x:Class="HRApp.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation" 
  xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
  xmlns:dataControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm.Toolkit" 
  xmlns:login="clr-namespace:HRApp.LoginUI"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" xmlns:riaControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.DomainServices" xmlns:my="clr-namespace:HRApp.Web">

  <Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}">
      
        <Border x:Name="ContentBorder" Style="{StaticResource ContentBorderStyle}">
            <navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
                              Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed">
                <navigation:Frame.UriMapper>
                  <uriMapper:UriMapper>
                    <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
                    <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
                  </uriMapper:UriMapper>
                </navigation:Frame.UriMapper>
            </navigation:Frame>
    </Border>

    <Grid Style="{StaticResource NavigationOuterGridStyle}">
      <Grid x:Name="NavigationGrid" Style="{StaticResource NavigationGridStyle}">

        <Border x:Name="BrandingBorder" Style="{StaticResource BrandingBorderStyle}">
          <StackPanel x:Name="BrandingStackPanel" Style="{StaticResource BrandingStackPanelStyle}">

            <ContentControl Style="{StaticResource LogoIcon}"/>
            <TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}" 
                               Text="{Binding Strings.ApplicationName, Source={StaticResource ApplicationResources}}"/>

          </StackPanel>
        </Border>
            </Grid>

      <Border Style="{StaticResource LoginContainerStyle}">
          <login:LoginStatus/>           
      </Border>
            <sdk:DataGrid AutoGenerateColumns="True" HorizontalAlignment="Center" Margin="0,85,0,0" Name="dataGrid1" Width="640" DataContext="{Binding ElementName=domainDataSource1, Path=DataContext}" ItemsSource="{Binding ElementName=tabonentsDomainDataSource, Path=Data}" SelectionChanged="dataGrid1_SelectionChanged" Height="367" VerticalAlignment="Top"></sdk:DataGrid>
            
        </Grid>
        <Border x:Name="LinksBorder" Style="{StaticResource LinksBorderStyle}" Margin="0,-1,0,0" Height="42" VerticalAlignment="Top" HorizontalAlignment="Right">
            <StackPanel x:Name="LinksStackPanel" Style="{StaticResource LinksStackPanelStyle}">
                <HyperlinkButton x:Name="Link1" Style="{StaticResource LinkStyle}" NavigateUri="/Home" TargetName="ContentFrame" Content="{Binding Path=Strings.HomePageTitle, Source={StaticResource ApplicationResources}}" />
                <Rectangle x:Name="Divider1" Style="{StaticResource DividerStyle}" />
                <HyperlinkButton x:Name="Link3" Style="{StaticResource LinkStyle}" NavigateUri="/EmployeeList" TargetName="ContentFrame" Content="Телефонный справочник" />
                <Rectangle x:Name="Divider2" Style="{StaticResource DividerStyle}" />
                <HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}" NavigateUri="/About" TargetName="ContentFrame" Content="{Binding Path=Strings.AboutPageTitle, Source={StaticResource ApplicationResources}}" />
            </StackPanel>
        </Border>
        <!--<riaControls:DomainDataSource Name="domainDataSource1" DataContext="{Binding}" QueryName="GetTabonents" AutoLoad="True" SubmittedChanges="tabonentsDataSource_SubmittedChanges"/>-->
        <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:tabonents, CreateList=true}" Height="0" LoadedData="tabonentsDomainDataSource_LoadedData" Name="tabonentsDomainDataSource" QueryName="GetTabonentsQuery" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my:OrganizationContext />
            </riaControls:DomainDataSource.DomainContext>
        </riaControls:DomainDataSource>
    </Grid>
</UserControl>

PM MAIL   Вверх
Akella
Дата 28.7.2011, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Привязка сетки данных к данным

Цитата

Привязка к данным

Для привязки DataGrid к данным, установите значение свойства ItemsSource на реализацию IEnumerable. Каждая строка в сетке данных привязана к объекту в источнике данных, а каждый столбец в сетке данных привязывается к свойству объекта данных. Чтобы пользовательский интерфейс DataGrid обновлялся автоматического при добавлении или удалении элементов из источника данных, сетка DataGrid должна быть привязана к коллекции, реализующей INotifyCollectionChanged, например ObservableCollection<(Of <(<'T>)>)>. Чтобы автоматически отражать изменения свойств, объекты в исходной коллекции должны реализовывать интерфейс INotifyPropertyChanged.

 smile

Добавлено через 1 минуту и 54 секунды
Можно самому обработать событие AutoGeneratingColumn
PM MAIL   Вверх
Akella
  Дата 28.7.2011, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Код

                   <sdk:DataGridTextColumn 
                       Header="ФИО" 
                       Width="200"
                       Binding="{Binding Name}" 
                       FontSize="20">
                        <sdk:DataGridTextColumn.HeaderStyle>
                            <Style TargetType="prim:DataGridColumnHeader" >
                                <Setter Property="HorizontalAlignment" Value="Center"/>
                            </Style>
                        </sdk:DataGridTextColumn.HeaderStyle>
                    </sdk:DataGridTextColumn>


При этом заголовок столбца ФИО отрисовывается криво
user posted image
что не так?

Добавлено через 59 секунд
Ага  smile 
Нужно вот так:
Код
<Setter Property="HorizontalContentAlignment" Value="Center"/>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0594 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.