datagrid 相关问题

一个图形用户界面元素,用于显示数据的表格视图。

DataGrid 不按 DESC 排序

Access中有一个数据库,我在搜索时获取数据,我想对结果进行排序,在按ASC排序时它可以工作,但在DESC上没有任何反应,这是MainWindow.xaml中的DataGrid代码: Access中有一个数据库,我在搜索时获取数据,我想对结果进行排序,在按ASC排序时它可以工作,但在DESC上没有任何反应,这是MainWindow.xaml中的DataGrid代码: <DataGrid Name="dataGrid" CanUserSortColumns="True" HorizontalAlignment="Center" Height="742" Margin="0,142,0,0" VerticalAlignment="Top" Width="1440" Sorting="dataGrid_Sorting"/> 这是与 DataGrid 交互的,使用 Button_Click 方法,在数据库中搜索数据: readonly string content = File.ReadAllText(@"C:\Users\User\source\repos\CG\BaseLink.txt"); private void Button_Click(object sender, RoutedEventArgs e) { string searchValue = searchBox.Text; // значение поиска, введенное в поле searchBox OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + content + "nwind.mdb"); connection.Open(); // создаем объект OleDbCommand и выполняем параметризованный запрос OleDbCommand command = new OleDbCommand("SELECT * FROM Customers WHERE CustomerID LIKE ? OR CompanyName LIKE ? " + "OR ContactName LIKE ? OR ContactTitle LIKE ? OR Address LIKE ? OR City LIKE ? OR Region LIKE ?" + "OR PostalCode LIKE ? OR Country LIKE ? OR Phone LIKE ? OR Fax LIKE ?;", connection); command.Parameters.AddWithValue("@searchValue1", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue2", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue3", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue4", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue5", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue6", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue7", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue8", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue9", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue10", "%" + searchValue + "%"); command.Parameters.AddWithValue("@searchValue11", "%" + searchValue + "%"); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(command); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet, "Customers"); dataGrid.ItemsSource = dataSet.Tables["Customers"].DefaultView; connection.Close(); } 这是对数据进行排序的 dataGrid_Sorting 方法: private void dataGrid_Sorting(object sender, DataGridSortingEventArgs e) { DataGridColumn column = e.Column; // Определение направления сортировки ListSortDirection direction; if (column.SortDirection == null) { // Сортировка не была применена ранее - устанавливаем направление сортировки по умолчанию direction = ListSortDirection.Ascending; } else if (column.SortDirection == ListSortDirection.Ascending) { // Сортировка применена в направлении по возрастанию - меняем направление на убывание direction = ListSortDirection.Descending; } else { // Сортировка применена в направлении по убыванию - меняем направление на возрастание direction = ListSortDirection.Ascending; } // Установка направления сортировки column.SortDirection = direction; // Создание команды для выполнения запроса к базе данных Access string sortOrder = (direction == ListSortDirection.Ascending) ? "ASC" : "DESC"; OleDbCommand command = new OleDbCommand("SELECT * FROM Customers ORDER BY [" + column.SortMemberPath + "] " + sortOrder); // Выполнение запроса к базе данных Access и получение данных в виде DataTable DataTable dataTable = new DataTable(); using (OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + content + "nwind.mdb")) { connection.Open(); command.Connection = connection; using (OleDbDataAdapter adapter = new OleDbDataAdapter(command)) { adapter.Fill(dataTable); } } // Обновление источника данных ItemsSource для DataGrid dataGrid.ItemsSource = dataTable.DefaultView; // Обновление данных в DataGrid dataGrid.Items.Refresh(); } 与AI合作,这是第一个项目,请勿重击,谢谢帮助! 我正在尝试在 DataGrid 中实现排序,并寻求帮助来实现此功能 要对 DataGrid 中的数据进行分组、排序和筛选,请将 DataGrid 绑定到支持这些操作的 ICollectionView 实现。 ICollectionView实现接口INotifyCollectionChanged,DataView未实现此接口。 如何:对 DataGrid 控件中的数据进行分组、排序和筛选 如果您的 [dataTable] 变量填充了正确的数据(按 DESC 顺序),我认为您需要再次绑定数据。像这样的东西: dataGrid.Columns.Clear(); dataGrid.DataSource = dataTable; 但顺便说一句,您不需要再次引用数据库来排序数据。 您可以使用 Sort() 方法来执行此操作(dataGridView1.Sort(Column, Direction))。 欲了解更多信息,请参阅此链接: learn_microsoft_com

回答 2 投票 0

将树视图中的选定项目链接到数据网格

我使用 Josh Smith 的 MVVM 模型创建了一个树视图,但我想创建一个相邻的数据网格,该数据网格会更改以表示树视图中选择的组件。 但是,我不知道如何

回答 0 投票 0

如何使WPF中数据网格的最后一行只读

我有一个可编辑的数据网格,其中有月份的列和根据搜索条件更改的几行。可以在这些单元格中输入数字,这些数字的总数是广告...

回答 1 投票 0

Datagrid - 使用 Reactjs 将 Material UI 中的总计数 100003 格式化为 1M+?

我正在使用reactjs在Mui中实现Datagrid。我有1M数据。 所以我目前显示的总数为 100000。 有什么方法可以将总数显示为 1M+ 或 1000+ 或任何其他速记方法来显示...

回答 2 投票 0

Mudblazor 更改 DataGrid 表单布局

我正在开发 Blazor 项目,使用 Mudblazor Datagrid 编辑一些数据。表格的布局不容易阅读。是否可以设计表单的样式?我想增加宽度...

回答 1 投票 0

Dev Extreme 数据网格在 Angular 中不起作用

dev 极端的角度 我正在将 dev Extreme 与我的 Angular 应用程序集成。 这是我遵循的链接并通过文档完成所有设置。 https://js.devexpress.com/Documentation/Guide/

回答 0 投票 0

我如何阻止或冻结 dgv vb.net 中的行?

Private Sub DataGridView1_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) 处理 DataGridView1.CellMouseClick Dim a As String = DataGridView1.Item(0, DataGridView1.Curre...

回答 0 投票 0

Wpf 数据网格在将项目添加到 DataSource 时不会在运行时反映

多年来我一直在使用 Stackoverflow 来解决不同的技术问题,我通常最终会找到答案。我无法解决这个问题,已经一个多星期了

回答 1 投票 0

基于 ComboBox 选择,使用 DataGrid CellTemplate 中的 DataTrigger 将另一个 ComboBox 更改为 TextBox

我有一个 DataGrid,我在其中使用 CellTemplate 来定义各种数据列。 像下面一样 <

回答 1 投票 0

从 WPF 中的 DataGridCellInfo 中获取项目

我在 WPF 中有一个 DataGrid。 DataGridCellInfo 包含 Column、IsValid 和 Item。 我试过: var foo = foobar.Item.Name var foo2 = foobar.Item[名称] 我应该如何从现场获得价值...

回答 0 投票 0

Canvas 围绕 yaxis 缩放 =-1 WPF,带有缩放、平移和拖动选择

我正在实现 wpf 画布,它围绕 yaxis = -1 缩放,对画布中添加的线条进行缩放、平移和拖动选择,但目前我正面临平移画布和选择

回答 0 投票 0

Oro 数据网格过滤器无法正常工作

我的数据网格中有这样的过滤器: 过滤器: 列: 启用: 类型:布尔值 数据名称:u.enabled 选项: ...

回答 0 投票 0

WinUI 3 DataGrid - 如何共享 DataGrid.Columns 定义

在 WinUI 3 中,我想在具有相同列定义的页面上创建两个 DataGrid。基本上以下两个具有不同的 ItemsSource 值但引用相同类型的数据。 (还有

回答 0 投票 0

React Material UI Datagrid rowMouseEnter 不触发

当我将鼠标悬停在 Datagrid 中的任何行上时,我希望“分析”按钮从概述的变体更改为包含的变体。当该行悬停时,我无法触发任何事件,也不会...

回答 2 投票 0

如何在编辑单元格时立即更新 WPF DataGrid 中的绑定值?

我正在 MVVM 应用程序中使用 WPF DataGrid。我已将 DataGrid 绑定到我的 ViewModel 中的 ObservableCollection。当前,当用户编辑 DataGrid 中的单元格时,绑定值 ...

回答 1 投票 0

IsReadOnlyProperty.OverrideMetadata 中断 WPF DataGrid 子类中的鼠标双击命令

我有一个 DataGrid 的子类,它提供了一些额外的功能并修改了它的一些属性的默认值。特别是一件事是我希望网格是只读的......

回答 1 投票 0

为什么 DataGridComboBoxColumn 的默认值没有出现在 C# WPF 中的 DataGrid 中?

项目主题: 我有一个 MS Access 2003 adp VBA 项目可以连接到 SQL Server 数据库,现在我正在将该项目转换为 C# WPF,我将把数据直接保存到 SQL Server da ...

回答 1 投票 0

更改列标题背景 DataGrid UWP

我目前正在查看来自 Nuget Microsoft.Toolkit.Uwp.UI.Controls.DataGrid xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls" 的 UWP DataGrid,我想更改单个列

回答 3 投票 0

WPF MVVM Datagid with ComboBox column set ComboBox Background with alternate color

我编辑了 ComboBox Style 以将 ComboBox ToggleButton 的背景绑定到 ComboBox Background 属性(这显然是唯一的方法)。 ... <p>我已经编辑了 <pre><code>ComboBox</code></pre> <pre><code>Style</code></pre> 以将 <pre><code>ComboBox</code></pre> <pre><code>ToggleButton&#39;s Background</code></pre> 绑定到 <pre><code>ComboBox Background</code></pre> 属性(显然是唯一的方法)。</p> <pre><code>... &lt;Style x:Key=&#34;ComboBoxToggleButton&#34; TargetType=&#34;{x:Type ToggleButton}&#34;&gt; ... &lt;Setter Property=&#34;Template&#34;&gt; &lt;Setter.Value&gt; &lt;ControlTemplate TargetType=&#34;{x:Type ToggleButton}&#34;&gt; &lt;Border x:Name=&#34;templateRoot&#34; BorderBrush=&#34;{StaticResource ComboBox.Static.Border}&#34; BorderThickness=&#34;{TemplateBinding BorderThickness}&#34; Background=&#34;{TemplateBinding Background}&#34; SnapsToDevicePixels=&#34;true&#34;&gt; &lt;= BINDING HERE &lt;Border x:Name=&#34;splitBorder&#34; BorderBrush=&#34;Transparent&#34; BorderThickness=&#34;1&#34; HorizontalAlignment=&#34;Right&#34; Margin=&#34;0&#34; SnapsToDevicePixels=&#34;true&#34; Width=&#34;{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}&#34;&gt; &lt;Path x:Name=&#34;arrow&#34; Data=&#34;F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z&#34; Fill=&#34;{StaticResource ComboBox.Static.Glyph}&#34; HorizontalAlignment=&#34;Center&#34; Margin=&#34;0&#34; VerticalAlignment=&#34;Center&#34;/&gt; &lt;/Border&gt; &lt;/Border&gt; &lt;ControlTemplate.Triggers&gt; ... </code></pre> <p>所以这个<pre><code>XAML</code></pre>代码现在可以工作了:</p> <pre><code>&lt;ComboBox Background=&#34;Yellow&#34; /&gt; </code></pre> <p>现在我有 <pre><code>Datagrid</code></pre> 和 <pre><code>ComboBox</code></pre> 列,我想将替代行颜色绑定到 <pre><code>ComboBox Background</code></pre> 属性:</p> <pre><code>&lt;DataGrid AutoGenerateColumns=&#34;False&#34; Name=&#34;datagrid1&#34; Height=&#34;auto&#34; ItemsSource=&#34;{Binding SourceList}&#34; SelectedItem=&#34;{Binding SelectedSource}&#34; BorderThickness=&#34;1&#34; AlternatingRowBackground=&#34;#FFFFFFCC&#34; HorizontalGridLinesBrush=&#34;#FFA0A0A0&#34; VerticalGridLinesBrush=&#34;#FFA0A0A0&#34; SelectionUnit=&#34;FullRow&#34; HeadersVisibility=&#34;Column&#34; GridLinesVisibility=&#34;Horizontal&#34; CanUserResizeRows=&#34;False&#34; VerticalContentAlignment=&#34;Center&#34; BorderBrush=&#34;DarkGray&#34; HorizontalAlignment=&#34;Stretch&#34;&gt; &lt;DataGrid.Columns&gt; &lt;DataGridTextColumn Header=&#34;NameText&#34; Binding=&#34;{Binding NameText}&#34; Width=&#34;*&#34;/&gt; &lt;DataGridTemplateColumn Width = &#34;*&#34; Header = &#34;Names&#34;&gt; &lt;DataGridTemplateColumn.CellTemplate&gt; &lt;DataTemplate&gt; &lt;ComboBox VerticalContentAlignment = &#34;Center&#34; ItemsSource = &#34;{Binding DataContext.NamesList, RelativeSource ={RelativeSource Findancestor, AncestorType = { x:Type Window}}}&#34; SelectedItem=&#34;{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}&#34; DisplayMemberPath=&#34;Name&#34;&gt; &lt;ComboBox.Style&gt; &lt;Style TargetType=&#34;ComboBox&#34; BasedOn=&#34;{StaticResource {x:Type ComboBox}}&#34;&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;Yellow&#34;/&gt; &lt;Style.Triggers&gt; &lt;DataTrigger Binding=&#34;{Binding Path=ItemsControl.AlternationIndex, ElementName=datagrid1}&#34; Value=&#34;1&#34;&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;#FFFFFFCC&#34;&gt;&lt;/Setter&gt; &lt;/DataTrigger&gt; &lt;/Style.Triggers&gt; &lt;/Style&gt; &lt;/ComboBox.Style&gt; &lt;/ComboBox&gt; &lt;/DataTemplate&gt; &lt;/DataGridTemplateColumn.CellTemplate&gt; &lt;/DataGridTemplateColumn&gt; &lt;/DataGrid.Columns&gt; &lt;/DataGrid&gt; </code></pre> <p>如何实现?</p> </question> <answer tick="false" vote="0"> <p>用途:</p> <pre><code>&lt;DataTrigger Binding=&#34;{Binding Path=ItemsControl.AlternationIndex, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}&#34; Value=&#34;1&#34;&gt; &lt;Setter Property=&#34;Background&#34; Value=&#34;#FFFFFFCC&#34;/&gt; &lt;/DataTrigger&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

wpf datagridcheckboxcolumn:如何启用/禁用复选框

我有一个带有 DataGridCheckBoxColumn 的 DataGrid。网格具有与对象列表的绑定。我想要的是,如果选中了 N 个复选框,未选中的将被禁用,但我不知道该怎么做

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.