Tag: datagrid

BindingProxy:绑定到索引属性

我有一个BindingProxy将DataGrid的DataGridColumns的Visibility属性绑定到Dictionary中的值(“ColumnsVisibility”)。 我还有一个Context-Menu,可以隐藏/显示Grid的列。 初始加载工作,如果字典“ColumnsVisibility”在InitializeComponent()之前填充了Information,则应用我设置DictionaryEntry的值。 我的目标是检查Contextmenu中的复选框,列出现/消失。 因为ContextMenu和Columns不是与DataGrid或其他所有相同的可视树的成员,所以我正在使用Proxy。 我的问题是,在ContextMenu中检查/取消选中CheckBox不会改变ColumnsVisibility [ElementName]的值。 如果我将check / uncheck-Event添加到Checkbox,我可以在代码中使用它来更改它,但是触发PropertyChanged-Event不会改变任何视觉效果。 该列保持原样。 BindingProxy是否将事件转发到GUI,反之亦然? 目前似乎没有。 任何人都有一个想法如何解决这个问题? 编辑: BindingProxy: public class BindingProxy : Freezable { #region Overrides of Freezable protected override Freezable CreateInstanceCore() { return new BindingProxy(); } #endregion public object Data { get { return (object)GetValue(DataProperty); } set { SetValue(DataProperty, value); } } // Using a DependencyProperty […]

在datagrid中获取行

我试着像这样排: DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(i); TextBlock cellContent = dataGrid.Columns[0].GetCellContent(row) as TextBlock; 但我只是null 。 还有其他解决方案吗? 我究竟做错了什么? 我想从我的细胞中获取数据。 我的单元格是复选框。

WPF DataGrid – 新行的事件?

我正在使用WPF DataGrid ( Toolkit中的 .Net 3.5 SP 1版本) 我可以订阅什么事件,以检测何时添加新行? (例如,当用户向下移动光标或按Enter键时,新的空行将添加到网格中)。 最终我想要做的是使用该事件来计算一些默认值并将它们放在新行中。 网格绑定到DataTable ,如果这有任何区别。

C#/ WPF:Toolkit DataGrid – 转置行和列

我有一个 List someList; 看起来像这样: public class DetailObject { public string Titel { get; set; } public int Value1 { get; set; } public int Value2 { get; set; } public int Value3 { get; set; } } 有谁知道我如何使用(使用DataGrid.AutoGenerateColumns =“True”)’string Titel’的值作为RowHeader和其他成员作为“行”内容? 没有任何修改,它会显示“Titel”作为ColumnHeader并将Titel的值显示为行,将“Value1”的dito显示为ColumnHeader,将Value1的值显示为Rows等。 谢谢你的帮助! 干杯 编辑:为了更好地理解,这就是我所拥有的 [Titel] [Value1] [Value2] [Value3] [Item1.Titel] [Item1.Value1] [Item1.Value2] [Item1.Value3] [Item2.Titel] [Item2.Value1] [Item2.Value2] […]

WPF自定义datagrid列标题

我需要创建一个Custom dataGrid DataGridTextColumn,如下图所示: 红色矩形是TextBox,用于在列中进行搜索。 到目前为止,我已经实现了这样的数据网格(简化版本): </DataGrid.Columns </DataGrid 我不知道如何创建这些textBoxes。 任何线索都会欣赏它

在WPF数据网格中的多个列上排序

如何设置我的WPF数据网格以对多个列进行排序,类似于具有两个可排序列,单击第一列的标题进行主排序,然后按SHIFT单击第二列的标题进行二次排序。 我想在用户单击第一列的标题时自动进行多列排序,而不必在第二列标题上单击SHIFT。 有没有办法在xaml中完全执行此操作? 如果不是我怎么能在后面的代码中这样做? 目前使用VB.Net但如果你有一个C#片段是可以接受的。 谢谢!

如何在更改DataGrid.ItemsSource时引发事件

我是WPF的新手,我正在使用DataGrids,我需要知道属性ItemsSource何时被更改。 例如,我需要在执行此指令时必须引发事件: dataGrid.ItemsSource = table.DefaultView; 或者添加一行时。 我试过使用这段代码: CollectionView myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(myGrid.Items); ((INotifyCollectionChanged)myCollectionView).CollectionChanged += new NotifyCollectionChangedEventHandler(DataGrid_CollectionChanged); 但此代码仅在用户向集合中添加新行时才有效。 因此,当整个ItemsSource属性发生任何更改时,我需要引发一个事件,因为整个集合被替换或者因为添加了一行。 我希望你能帮助我。 先感谢您

数据在DataSet可视化工具中可见,但不在DataGrid中显示

我的代码是 public DataTable Load_to_DataGrid(string Line_ID) { con.ConnectionString = ConfigurationManager.ConnectionStrings[1].ConnectionString; com = new SqlCommand(“LoadPoints_ToGrid”, con); com.CommandType = CommandType.StoredProcedure; com.Parameters.Add(new SqlParameter(“@Line_ID”, Line_ID)); com.Parameters.Add(“@outp”, SqlDbType.NVarChar,40000).Direction = ParameterDirection.Output; SqlDataAdapter sda = new SqlDataAdapter(com); DataTable dt = new DataTable(); sda.Fill(dt); return dt; } 存储过程是 CREAT PROCEDURE [dbo].[LoadPoints_ToGrid](@Line_ID nvarchar(max),@outp nvarchar(max) output) AS BEGIN DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX) select […]

使用TextBox动态过滤DataGrid的名称

首先是我的问题:我喜欢动态地使用TextBox过滤我的DataGrid以获取Name 。 我目前的代码: 如何填充DataGrid : cnb1 = new MySqlConnectionStringBuilder(); cnb1.Server = “xxxxxxxxxxxxxxxxxxx”; cnb1.Database = “xxxxxxxxxxxxxxx”; cnb1.UserID = “xxxxxxxxxxxxxxxxx”; cnb1.Password = “xxxxxxxxxxxxxxxxxx”; cn1 = new MySqlConnection(cnb1.ConnectionString); cn1.Open(); da = new MySqlDataAdapter(“SELECT * FROM AktuelleDaten”, cn1); da.MissingSchemaAction = MissingSchemaAction.AddWithKey; da.SelectCommand.ExecuteNonQuery(); ds = new DataSet(); da.Fill(ds); hauptübersichtgrid.ItemsSource = ds.Tables[0].DefaultView; TextBox的代码: private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { DataSet […]

在datagrid中添加上下文菜单,如何获取select Item值

我是MVVM模式的WPF编程新手。 现在我在datagrid中添加了上下文菜单。 但是,当我单击鼠标右键时,我不知道如何获取选择的行值。 这是我的xmal 这是我的viewModel class MainViewModel:NotificationObject { private ObservableCollection storyList; public ObservableCollection StoryList { get { return storyList; } set { storyList = value; this.RaisePropertyChanged(“StoryList”); } } public DelegateCommand AddIssueCommand { get; set; } public DelegateCommand BurnDownChartCommand { get; set; } private Story selectStory; public Story SelectStory { get { return selectStory; } set […]