Tag: datagrid

DataGrid SortDirection被忽略

我想在启动时指定默认顺序,但仍允许用户通过单击列标题进行排序。 遗憾的是,SortDirection属性在设置时被忽略 – 即我们得到正确的列标题箭头,但没有任何排序。 手动单击标题,可以正确排序数据,因此不是排序本身。 这是我正在使用的简化版本: 更新:我还尝试按照建议将SortDescriptions添加到ICollectionView,但没有很好的结果。 这可能与我正在动态地向集合中添加新项目这一事实有关吗? 即在启动时列表是空的并且慢慢填充,也许sortdescription只应用一次?

将值添加到特定的DataTable单元格

我想知道是否可以将值添加到特定的DataTable单元格? 假设我有一个现有的dataTable,并且我添加了一个新列,如何在不覆盖现有列的行的情况下添加到新列的行? 据我所知,没有一种方法可以添加到特定的细胞(除非我错了)。 dt.Rows.Add(a, b, c, d) 其中a,b,c和d是字符串值。 那么如果我只想添加到d列呢? 任何帮助,将不胜感激。

编辑单元格事件获取单元格值和位置

在我的Datagrid中,我允许用户编辑一些单元格,在编辑这些单元格后,我想将更改提交到数据库(在输入时)。 我在线寻找资源以解决问题。 我使用一个名为的事件: CellEditEnding但事件只为我提供了更改单元格的Row和Col的方式。 我如何使用这些来找到细胞本身并获得价值?

如何在绑定到ObservableCollection时禁用DataGrid中的单元格

在我的程序中,我有一个UserControl,它包含一个DataGrid ,它的ItemsSource绑定到ObservableCollection 。 对于那个DataGrid我需要能够禁用和灰化特定的单元格。 我想在c ++中最好这样做,因为我可能需要在运行时更改这些单元格。 我知道如何使用IsReadOnly ,但看起来我只能为整个列切换。 这成为一个问题,因为我的列绑定到数据,这使我更难以定位特定的网格单元格。 话虽如此, XAML: 数据模型: namespace Program.Data_Models { public class CartIO_Model : PropertyChangedBase { private string test1 = “One”; private string test2 = “Two”; private string test3 = “Three”; private string DISABLEDtest4 = “Four”; private string DISABLEDtest5 = “Five”; private ObservableCollection _collection; public CartIO_Model() { Collection = new […]

创建新的类型化DataSet对象(c#)

我使用DataGrid来显示xml文件。 Grid的DataSource是一个Typed DataSet。(使用schema) Assembly assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream(“XML_Reader.Resources.schema.xsd”); XmlSchemaSet schemas = new XmlSchemaSet(); XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.Schemas.Add(null, XmlReader.Create(stream)); using (XmlReader reader = XmlReader.Create(xmlFile, settings)) { newDataSet.ReadXml(reader); } dataGrid.DataSource = newDataSet; 我在我的项目中添加了一个xsd模式,并使用MSDataSetGenerator生成newDataSet。 (VS2008)。 现在我想为我读取的每个新( 分层xml )文件创建一个新的DataSet对象。 创建一个新的DataSet对象不是问题,但数据类型是不正确的,所以我不能很好地对它们进行排序(特别是数字字段)。 在我看来,我需要创建一个新的Typed DataSet 。 那么我该如何解决这个问题呢?

如何在wpf datagrid中删除所选行(使用复选框)

我的WPF DataGrid是: 另外Dynamicaly我正在将数据填充到datgrid。在xaml.cs文件中,我编写了下面给出的代码,用于从数据网格中删除所选行但是它在行中抛出错误 DataGridRow item =(DataGridRow) datagrid1.ItemContainerGenerator.ContainerFromItem(datagrid1.Items[j]); 所以请查看下面给出的代码,我为此做了同样的代码。 private void Button_Click_1(object sender, RoutedEventArgs e) { for (int j = 0; j < datagrid1.Items.Count; j++) { DataGridRow item =(DataGridRow) datagrid1.ItemContainerGenerator.ContainerFromItem(datagrid1.Items[j]); CheckBox ckb = (CheckBox)GetVisualChild(item); if (ckb.IsChecked.Value) { DataRowView drv = (DataRowView)datagrid1.Items[j]; //delete the row- updating to the database } } } static T GetVisualChild(Visual parent) where […]

如何在Datagrid中为第一行设置颜色

我在wpf(mvvm)项目上有一个datagrid。 datagrid排序显示作为第一行添加到集合的最后一项。 我想为第一行着色(为了突出显示添加到集合中的新项目)我已经看到了一些关于这种方式的类似问题,但它们都没有真正与我正在寻找的相关。 我试图使用IValueConverter,但它似乎不适合我,因为我需要获得第一行的唯一标识符并更改所有其余行,以便将其归类为“第一行”。 我对集合中项目的对象模型如下所示: public class Messages { public string Date {get; set;} public string Sender{get; set;} public string Content{get; set;} } *编辑忘记添加转换器代码…当然这会将所有行着色为红色,因为我不知道如何在集合更改时影响其他行。 class DateToColorConverter : IValueConverter { object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (Convert.ToDateTime(value) >= DateTime.Now.AddMinutes(-1)) { return “Red”; } else return “Yellow”; } object IValueConverter.ConvertBack(object value, Type […]

使用C#将多个过滤应用于WPF数据网格

我有一个数据网格,它是一个数据库表。 我可以使用ICollectionView使用以下代码过滤数据网格: lstOrdsRlsd = new ObservableCollection(GV.dbContext.OrdsRlsds); view = CollectionViewSource.GetDefaultView(lstOrdsRlsd); if (lstOrdsRlsd.Count > 0) { dgRecords1.ItemsSource = view; } private void FilterRecords(string FieldName, string Condition, object Value1, object Value2) { OrdsRlsd vitem; switch (FieldName) { case “OrderNo”: view.Filter = item => { vitem = item as OrdsRlsd; switch (Condition) { case “=”: if (vitem.OrderNo == Convert.ToDouble(Value1)) […]

将WPF DataGrid绑定到List

你好,我有一个DataGrid,我有不同的报告,我想显示。 我要改变课程,所以他们在这里更短,但是想法是一样的。 让我们说我有一个名为IReports的接口 public interface IReports { } 还有三个class叫做学生,class级,汽车 public class Students:IReports { public string Name { get; set; } } public class Classes : IReports { public string ClassName { get; set; } public string StudentName { get; set; } } public class Cars : IReports { public int Mileage { get; set; } […]

如何向DataGrid添加空行?

我需要允许用户添加直接在DataGrid中的信息,但是“CanUserAddRows”属性不起作用,只显示如下: 这是我的DataGrid: 编辑 这是新的网格代码: 这是我的代码背后:我的ObservableCollection: public ObservableCollection lstPerson { get; set; } 我的主窗口 public MainWindow() { InitializeComponent(); DataContext = this; lstPerson = new ObservableCollection(); } 我的人类 public class Person { public int No { get; set; } public string Name { get; set; } public string Carrer { get; set; } public string Group { […]