Tag: 数据网格

如何将List <CustomObject>绑定到WPF DataGrid?

我是WPF的新手,想做一些基本的数据绑定。 我有一个CustomObject的列表,并希望将其绑定到DataGrid。 MainWindow.xaml.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication1 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List<ArticleItem> list = […]

WPF DataGridselect的行样式

我困住了一个非常愚蠢的问题 – 需要在WPF DataGrid中select样式。 我想显示一个带有蓝色边框的矩形,而不是用一些颜色填充整行。 任何想法如何实现这个? 这只是一些方法,使它很容易。

如何启用WPF Datagrid上的滚动条?

当我从本文运行以下Northwind WPF Toolkit Datagrid代码时,我得到一个数据网格,但没有滚动条 ,因此用户只能看到部分数据网格。 我正在使用2009年3月的最新版本。 我需要指定什么,以便WPF Datagrid具有滚动条? 我试图把数据网格放在一个ScrollViewer,但没有帮助。 XAML: <Window x:Class="TestDataGrid566.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit" Title="Window1" Height="600" Width="800"> <StackPanel> <toolkit:DataGrid x:Name="TheDataGrid" AutoGenerateColumns="True"/> </StackPanel> </Window> 后台代码: using System.Linq; using System.Windows; using TestDataGrid566.Model; namespace TestDataGrid566 { public partial class Window1 : Window { public Window1() { InitializeComponent(); NorthwindDataContext db = new NorthwindDataContext(); var customers = from c […]

WPF DataGrid:使单元格只读

我使用下面的DataGrid <DataGrid Grid.Row="1" Grid.Column="1" Name="Grid" ItemsSource="{Binding}" AutoGenerateColumns="False" > <DataGrid.Columns> <DataGridTextColumn Header="Name" Width="100" Binding="{Binding Path=Name}"></DataGridTextColumn> <DataGridTextColumn Header="OldValue" Width="100" Binding="{Binding Path=OldValue}"></DataGridTextColumn> <DataGridTextColumn Header="NewValue" Width="100*" Binding="{Binding Path=NewValue}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid> 我怎样才能使细胞只读?

在WPF中的dataGridCells上设置填充

简单的问题:如何在WPF中的dataGridCell上设置填充? (一次一个或所有单元格,我不在乎) 我已经尝试使用DataGrid.CellStyle属性,通过在DataGrid.CellStyle属性上添加一个setter以及以相同的方式使用DataGridColumn.CellStyle属性,但不起作用。 我也尝试使用DataGridColumn.ElementStyle属性,没有更多的运气。 我有点卡住了,有没有人设法得到一个数据网格应用填充? 注意:我会添加不,我不能使用透明边框来做到这一点,因为我已经使用边界属性的其他东西。 我也不能使用保证金属性(这似乎工作,令人惊讶的足够),因为我使用背景属性,我不希望我的单元格之间有任何“空白”的空间。

WPF数据网格空行在底部

我使用绑定我的数据网格 //fill datagrid public DataTable GameData { get { DataSet ds = new DataSet(); FileStream fs = new FileStream(IMDB.WebPage.Class.Config.XMLPath, FileMode.Open, FileAccess.Read); StreamReader reader = new StreamReader(fs, Encoding.Default); ds.ReadXml(reader); fs.Close(); DataTable temp = ds.Tables[0]; return ds.Tables[0]; } } 出于某种原因,我在底部得到一个空行。 有时点击网格中的一些button和checkbox后,会添加更多的空行。 为什么是这样? 而我怎么阻止呢?

如何在WPF DataGrid中单击checkboxselect?

我有一个DataGrid第一列作为文本列和第二列作为CheckBox列。 我想要的是,如果我点击checkbox。 它应该得到检查。 但是,需要两次点击才能被选中,首先点击单元格被选中,第二次点击checkbox被选中。 如何使checkbox得到检查/取消选中一次点击。 注意:我正在使用WPF 4.0 编辑: DataGrid中的列是自动生成的。

loadComplete和gridComplete事件有什么区别?

这个问题起源于我看了这个 奥列格和演示网格的答案。 gridComplete : 所有的数据加载到网格后,所有其他进程完成后触发。 此外,事件触发独立于数据types参数和sorting寻呼等。 loadComplete : 每个服务器请求后立即执行此事件。 数据来自响应的数据取决于数据types网格参数 从那个文档中,我明白了gridComplete在绘制网格结束时触发,并且在jqGrid完成与后端的通信之后, loadComplete触发。 所以我不知道 – 为什么在演示中, loadComplete用于更改单元格颜色而不是gridComplete ?

访问UI(主)在WPF中安全地线程

我有一个应用程序更新我的数据网格,每当我正在看日志文件更新(附加新文本)在以下方式: private void DGAddRow(string name, FunctionType ft) { ASCIIEncoding ascii = new ASCIIEncoding(); CommDGDataSource ds = new CommDGDataSource(); int position = 0; string[] data_split = ft.Data.Split(' '); foreach (AttributeType at in ft.Types) { if (at.IsAddress) { ds.Source = HexString2Ascii(data_split[position]); ds.Destination = HexString2Ascii(data_split[position+1]); break; } else { position += at.Size; } } ds.Protocol = name; ds.Number […]

在DataGrid WPF中获取选定的行项目

我有一个DataGrid ,绑定到数据库表,我需要获取DataGrid中选定行的内容,例如,我想在MessageBox显示所选行的内容。 DataGrid例子: 所以,如果我select第二行,我的MessageBox必须显示如下: 646 Jim Biology 。