.NET MAUI Devexpress Datagrid TemplateColumn Filtering

39 Views Asked by At

I'am using devexpress datagrid in my maui app. It has a template column in it that creates a button for each row it gets. Problem is whenever ShowAutoFilterRow and AllowAutoFilter is used it adds the same button to FilterRow too(Provided as screenshot) which is useless and could break the app when clicked. Is there any way to hide it or describe specific columns to render the filterrow.

Datagrid Image

                <dxg:DataGridView
                    Grid.Row="1"
                    Grid.RowSpan="2"
                    Grid.Column="0"
                    Grid.ColumnSpan="2"
                    AllowVirtualHorizontalScrolling="True"
                    BackgroundColor="AliceBlue"
                    IsHorizontalScrollBarVisible="True"
                    ItemsSource="{Binding ItemWarehousesStockViewModels}"
                    RowHeight="50"
                    SelectionMode="None"
                    ShowAutoFilterRow="True">
                    <dxg:DataGridView.ColumnHeaderAppearance>
                        <dxg:ColumnHeaderAppearance
                            Padding="5"
                            BackgroundColor="#333333"
                            BorderColor="#515151"
                            FontColor="White"
                            FontSize="14" />
                    </dxg:DataGridView.ColumnHeaderAppearance>
                    <dxg:DataGridView.CellAppearance>
                        <dxg:CellAppearance
                            Padding="5"
                            BackgroundColor="Gray"
                            BorderColor="#515151"
                            FontColor="White"
                            FontSize="14"
                            SelectionColor="#515151"
                            SelectionFontColor="Black" />
                    </dxg:DataGridView.CellAppearance>
                    <dxg:DataGridView.Columns>
                        <dxg:TextColumn
                            Width="150"
                            AllowAutoFilter="True"
                            AutoFilterCondition="Contains"
                            Caption="Depo"
                            FieldName="Warehouse.Description"
                            HorizontalHeaderAlignment="Center"
                            LineBreakMode="WordWrap" />
                        <dxg:NumberColumn
                            Width="150"
                            AllowAutoFilter="True"
                            AutoFilterCondition="Contains"
                            Caption="Miktar"
                            DisplayFormat="F3"
                            FieldName="WarehousesQuantity"
                            HorizontalHeaderAlignment="Center"
                            LineBreakMode="WordWrap" />
                        <dxg:TemplateColumn
                            Width="150"
                            AllowAutoFilter="True"
                            AutoFilterCondition="Contains"
                            Caption="Stok Lokasyon Detayı"
                            FieldName="IsSelected"
                            HorizontalHeaderAlignment="Center"
                            LineBreakMode="WordWrap">
                            <dxg:TemplateColumn.DisplayTemplate>
                                <DataTemplate>
                                    <Button
                                        Margin="5,0,5,0"
                                        Command="{Binding Source={x:Reference StockWarehouseDetails}, Path=BindingContext.GetLocationsInventoryForItemCommand}"
                                        CommandParameter="{Binding Item.Warehouse.Id}"
                                        HorizontalOptions="Center"
                                        IsEnabled="true"
                                        Text="Lokasyon Detayı" />
                                </DataTemplate>
                            </dxg:TemplateColumn.DisplayTemplate>
                            <dxg:TemplateColumn.EditTemplate>
                                <DataTemplate>
                                    <Button
                                        Margin="5,0,5,0"
                                        Command="{Binding Source={x:Reference StockWarehouseDetails}, Path=BindingContext.GetLocationsInventoryForItemCommand}"
                                        CommandParameter="{Binding Item.Warehouse.Id}"
                                        HorizontalOptions="Center"
                                        IsEnabled="true"
                                        Text="Lokasyon Detayı" />
                                </DataTemplate>
                            </dxg:TemplateColumn.EditTemplate>
                        </dxg:TemplateColumn>
                    </dxg:DataGridView.Columns>
                </dxg:DataGridView>

Tried hiding the filter field for that row but couldnt manage.

0

There are 0 best solutions below