Tag: 数据网格

具有动态可编辑列的DataGrid

我一直在尝试在WPF MVVM项目中使用动态列创建一个可编辑的DataGrid 。 动态列的类型相同,即: decimal 。 目的是收集部门数量不确定的商店的部门总数。 我试着在下面演示它。 Day Dept1 Dept2 Dept3… TotalOfDepartments CashTotal CreditTotal ===================================================================== 1 100 200 50 350 50 300 2 75 100 0 175 25 150 因此,有许多商店有无限期的部门,我的目标是收集月份 我想让Department,CashTotal和CreditTotal Columns可以编辑。 我尝试了几种方法: 使用mVVm填充动态datagrid列和可编辑的绑定 使用MVVM在Silverlight应用程序中使用动态列填充DataGrid 如何将WPF DataGrid绑定到可变数量的列? 这是我最后一次尝试的最后一次尝试。 如下: 模型: public class DailyRevenues { public int ShopId { get; set; } public int Day […]

如何在代码中访问DataGridCell的数据对象?

基本上我绑定了数据网格,使其类似于主题的时间表 – 每行代表一个学期的学科,并且该学期内的每个单元代表一个主题。 我现在正在尝试添加拖放function,以便您可以将其他主题拖动到网格上,这将更新基础数据结构。 我可以使用一些可视树方法来查找用户正在拖动新主题的DataGridCell,但我不知道如何访问单元格绑定到它的值(主题)以替换空白/占位符值与新主题。 有没有办法访问基础值,还是应该重构我创建此程序的整个方法?

增加Silverlight DataGrid中的列宽以填充整个DG宽度

我有一个绑定到SQL表的DataGrid控件。 XAML代码是: 是否可以增加单列大小以填充数据网格的整个宽度? 谢谢, 亨里克 编辑:Silverlight SDK 4附带宽度为“*”的列。

DataGrid Cell.Style绑定

我有WPF DataGrid(.net 4.0)的性能问题 首先,一些细节: 我有一个带有Observable集合的datagrid作为ItemsSource。 这个observableCollection本身包含对象的集合,每个集合因此是一行,每个对象都是一个单元格(当然是“逻辑”单元格,而不是实际的dataGridCell) 我这样做的原因是因为我只在运行时知道我将在dataGrid中有多少列。 然后我将每个DataGridCell的值绑定到“逻辑”表中的对象的值(=集合的集合) 现在我遇到的麻烦是我还必须能够在应用程序运行时随时更改任何单元格的属性(如Background,Foreground,FontFamily等等)。 我想出的解决方案是将列的’cellStyles设置为绑定到“逻辑”单元属性的绑定 这是一个示例代码(我的应用程序中没有Xaml): public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Width = 1200; Height = 780; Top = 60; Left = 200; DataGrid dg = new DataGrid(); Content = dg; ObservableCollection Source = new ObservableCollection(); dg.ItemsSource = Source; dg.SelectionMode = DataGridSelectionMode.Extended; dg.IsSynchronizedWithCurrentItem = […]

如何防止数据网格中的行在应用程序运行时闪烁

在我正在开发的应用程序中,我正在使用datagridview来显示数据。 为了填充它,我要按一个按钮,后台工作人员将开始运行,它将填充数据表,当它完成运行时,它将使用数据表作为数据网格的数据源。 这很好用,用户界面保持响应等等。 但是现在我已经对行进行了着色,这取决于它们的值(我还在玩它,所以欢迎任何建议): private void ApplyColoring() { if (dataGridView1.DataSource != null) { foreach (DataGridViewRow dataGridRow in dataGridView1.Rows) { // hardmap a color to a column IDictionary colorDictionary = new Dictionary(); colorDictionary.Add( 7, Color.FromArgb(194, 235, 211)); colorDictionary.Add( 8, Color.Salmon); colorDictionary.Add( 9, Color.LightBlue); colorDictionary.Add(10, Color.LightYellow); colorDictionary.Add(11, Color.LightGreen); colorDictionary.Add(12, Color.LightCoral); colorDictionary.Add(13, Color.Blue); colorDictionary.Add(14, Color.Yellow); colorDictionary.Add(15, Color.Green); colorDictionary.Add(16, […]

WPF Datagrid绑定到xml

我想以编程方式将包含从数据库中提取的一些结果的XML文件绑定到我的Datagrid。 我的XML看起来像: Col 1 Col 2 Value field 1 Value field 2 Value field 1 Value field 2 我正在尝试将标题映射到datagrid标题,并将行映射到行…唯一的问题是我有点卡住了,我迷失在程序化属性中,有人可以给我一个提示要照顾什么? 我试过了: myDataGrid.ItemsSource = myXmlDoc 但它并没有真正帮助没有显示嘿嘿,我已经阅读了一些“路径”绑定属性,但我找不到它。

如何以像素为增量滚动DataGridView

我最初的方法是将我的DataGridView包含在面板中,将其高度设置在面板边界之外,然后更改控制面板的滚动条位置。 但是,我刚刚发现我的DataGridView中的行数将达到2000,这迫使我至少将DataGridView的大小调整为: 65px(行高)x 2,000 = 130,000px。 我的64位计算机上DataGridView控件的最大允许大小为65,535。 任何人都可以想办法解决这个问题吗?

Windows Mobile应用程序中DataGrid的列宽

我在尝试调整数据网格列的宽度时遇到问题。 我使用了这里发布的答案,但我无法解决。 我正在使用对象列表作为数据源。 在这个简单的例子中,我刚刚创建了一个智能设备应用程序,并且刚刚添加了一个数据网格。 然后我的代码就是这个: public Form1() { InitializeComponent(); List lista = new List(); lista.Add(new Prueba(“uno”, “dos”)); lista.Add(new Prueba(“tres”, “cuatro”)); dataGrid1.DataSource = lista; DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = lista.GetType().ToString(); DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn(); tbcName.Width = 4000; tbcName.MappingName = “UNO”; tbcName.HeaderText = “UNO”; tableStyle.GridColumnStyles.Add(tbcName); dataGrid1.TableStyles.Clear(); dataGrid1.TableStyles.Add(tableStyle); } } public class Prueba { public […]

如何自动将字符串数组绑定到WPF DataGrid?

我在UserControl有一个DataGrid 。 它看起来像这样: 我在MainWindow中有UserControl ,如下所示: 在使用方法fs.CSVToStringArray的窗口后面的代码中,我打开一个CSV文件并将内容解析为string[][]外部数组表示行,内部数组是所有列,因此字符串[ 0] [3]将是第1行第4列。 在我的代码后面我只是将ItemsSource设置为数组数组,如下所示: 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; using System.Data; namespace ExternalDataSourceComparison { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { FileStuff […]

创建自定义DataGrid的ItemsSource

我正在使用DataGrids,但我正在努力绑定我的数据,因为列数根据必须显示的信息而有所不同。 所以,我试图做的是创建和对象,其中包含我在某些时候需要的所有列和行,并将此对象绑定到ItemsSource属性。 由于我在WindowsForms中使用过DataGridViews,我想到的是这样的: DataTable myTable = new DataTable(); DataColumn col01 = new DataColumn(“col 01”); myTable.Columns.Add(col01); DataColumn col02 = new DataColumn(“col 02”); myTable.Columns.Add(col02); DataRow row = myTable.NewRow(); row[0] = “data01”; row[1] = “data02”; myTable.Rows.Add(row); row = myTable.NewRow(); row[0] = “data01”; row[1] = “data02”; myTable.Rows.Add(row); 但是我还没有找到在WPF中做同样事情的方法,因为我需要一些列为DataGridComboBoxColumns。 实际上我在这个网站上看过很多关于它的post,但是没有一个对我有帮助。 我真的迷路了。 谁能帮助我? 我只需要能够创建一个可能包含DataGridTextColumns或`DataGridComboBoxColumns等的表,以便将此最终对象绑定到DataGrid的ItemsSource属性。 希望可以有人帮帮我。