Поиск по DataGrid из внутренних TextBox/ComboBox. Mvvm - C# WPF/.NET 4.x

217
18 января 2018, 17:49

Доброго дня всем! Очень интересует как поместить внутрь DataGrid несколько TextBox'ов или ComboBox'ов, что бы по ним совершать поиск по строкам или запрос к БД если не найдено в DataGrid.

Пример кода не нужно, сам знаю как написать, а вот от XAML или ссылки на источник где можно прочитать об этом не отказался бы

P.S. Имелось ввиду как на скриншоте:

Answer 1

Для того чтобы что то поместить в заголовок, достаточно переопределенить HeaderTemplate у любого типа колонок.

Пример:

<Window x:Class="GridHeader.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:GridHeader"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <DataGrid>
            <DataGrid.Columns>
                <DataGridTextColumn Width="150">
                    <DataGridTextColumn.HeaderTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <TextBlock Text="Заголовок 1" HorizontalAlignment="Center"/>
                                <TextBox Grid.Row="1" Text="TextBox в заголовке" Margin="5"/>
                            </Grid>
                        </DataTemplate>
                    </DataGridTextColumn.HeaderTemplate>
                </DataGridTextColumn>
                <DataGridTextColumn Width="*">
                    <DataGridTextColumn.HeaderTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <TextBlock Text="Заголовок 2" HorizontalAlignment="Center"/>
                                <ComboBox Grid.Row="1" Text="ComboBox в заголовке" Margin="5"/>
                            </Grid>
                        </DataTemplate>
                    </DataGridTextColumn.HeaderTemplate>
                </DataGridTextColumn>
                <DataGridTextColumn Width="200">
                    <DataGridTextColumn.HeaderTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.RowDefinitions>
                                    <RowDefinition/>
                                    <RowDefinition/>
                                </Grid.RowDefinitions>
                                <TextBlock Text="Заголовок 3" HorizontalAlignment="Center"/>
                                <CheckBox Grid.Row="1" Content="CheckBox в заголовке" Margin="5"/>
                            </Grid>
                        </DataTemplate>
                    </DataGridTextColumn.HeaderTemplate>
                </DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

READ ALSO
При выходе с приложения не сохраняются данные в PlayerPrefs Unity Android

При выходе с приложения не сохраняются данные в PlayerPrefs Unity Android

Создал приложение в Unity на iOS всё работает, поменял платформу на Android, так всё сразу упало, я сохранял данные при выходе,

304
Подключение к базе данных firebird на C# WPF

Подключение к базе данных firebird на C# WPF

Подскажите, как можно подключиться к бд firebird на C#

268
Внедрения зависимостей

Внедрения зависимостей

Подскажите пожалуйста, как мне организовать внедрения зависимостей в 3-ох уровневой приложения с DAL, BLL i WEB в ASPNET MVC?

263