WPF之 DataGrid数据绑定

DataGrid控件是显示数据的控件,从一个对象集合获取信息并在具有行和单元格的网格中显示信息。每行和一个单独的对象相对应,并且每列和该对象中的一个属性相对应。

DataGrid控件添加了许多在WPF中处理数据所需要的技能。其基于列的模型提供了显著的格式化灵活性,其选择模型允许选择一行,多行或一些单元格的组合,其编辑支持非常强大,可以使用DataGrid控件作为简单数据和复杂数据的统一数据编辑器。

上述所讲都是介绍,下面我将自己项目中使用到的DataGrid的功能与大家分享,也希望大家可以点出其中的不足之处。

 <DataGrid x:Name="grid1" AutoGenerateColumns="True"></DataGrid>
    1. DataGrid数据绑定

      1.  将 AutoGenerateColumns设置为"True",自动生成列,通过设置ItemSource属性填充DataGrid: grid1.ItemsSource = Prolist;效果如下图:
      2. 使用自动生成的列不能很好的控制列的显示,将 AutoGenerateColumns设置为"False",这样我们可以定义列的显示,也是我们平常用的最多的。下面我分别绑定五种DataGrid支持的类型的列:

         <DataGrid.Columns>
                        <DataGridCheckBoxColumn Header="选择" Width="50"></DataGridCheckBoxColumn>
                        <DataGridTextColumn Header="Product Name" Width="100" Binding="{ Binding Path=ProName}">
                        </DataGridTextColumn>
                        <DataGridComboBoxColumn Header="Product Category" Width="115" SelectedItemBinding="{Binding Path=ProCategory}" ItemsSource="{Binding Source={StaticResource keyCategory}}" ></DataGridComboBoxColumn>
                        <!--Combox绑定,获取上面定义的资源keyCategory.从后台获取类别的数据-->
                        <DataGridHyperlinkColumn Header="Product Link" Width="100" Binding="{Binding Path=ProLink}"></DataGridHyperlinkColumn>
                        <DataGridTemplateColumn Header="Product Image" Width="100">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Image Source="{Binding Path=ProImage }" Width="100" Height="70"></Image>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>

        后台设置:

         public enum ProductCategory
            {
                Travel,Deception,Tools,General
            }

        界面如下:

时间: 2024-10-15 11:39:48

WPF之 DataGrid数据绑定的相关文章

WPF之 DataGrid分页

接着上一篇WPF之 DataGrid数据绑定,继续讲述WPF中DataGrid分页. 由于分页经常用到,就做了一个自定义控件,由于当时的局限性,只支持DataTable数据源,不过木关系,网上很多其他数据类型转换成DataTable的方法,下面我提供一种List转换成DataTable的方法: /// <summary> /// 将List转换成DataTable /// </summary> /// <typeparam name="T"><

扩展WPF的DataGrid按方向键移动焦点

WPF的DataGrid默认的移动行为如下: (1)当前单元格不处于编辑状态时可使用方向键移动焦点. (2)当前单元格处于编辑状态时不可使用方向键移动焦点;按Enter键,当前单元格退出编辑状态,焦点向下移动一格;按Ctrl+Enter键,当前单元格退出编辑状态,焦点向上移动一格;按Tab键,当前单元格退出编辑状态,焦点向右移动一格,并进入编辑状态;按Shift+Tab键,当前单元格退出编辑状态,焦点向左移动一格,并进入编辑状态; “运营管理3.0″的用户普遍电脑操作水平低下,Office是它们

(WPF) MVVM: DataGrid Binding

Binding到DataGrid的时候,需要用到ObservableCollection. public ObservableCollection<Customer> Customers { get { return this.customers; } set { this.customers = value; base.OnPropertyChanged("Customers"); } } (WPF) MVVM: DataGrid Binding,布布扣,bubuko.c

WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)

在写次文前先不得不说下网上的其他wpf的DataGrid绑定ComboBox的方式,看了之后真是让人欲仙欲死. 首先告诉你一大堆的模型,一大堆的控件模板,其实或许你紧紧只想知道怎么让combobox怎么显示出来而已. 惯例先上图: 达到这样的效果其实很简单,除了让数据模型之外紧紧只有几行代码. 先看数据模型: public class VModel : INotifyPropertyChanged { private string _Name; public string Name { get

【Jqurey EasyUI】----DataGrid数据绑定,以及增、删、改(SQL)

也懒得打其它字了,直接进入主题吧 1.首先,数据表Rex_Test ID int 自增 tName varchar(10) 姓名 tEmail varchar(80) 邮箱 2.至于代码里的Jqurey EasyUI包就直接去官网下载吧,当然其它地方也行,这里就不多做说明了. 3.前台显示页面 Default.aspx <span style="font-size:14px;"><head> <title>myWeb</title> &l

WPF拖动DataGrid滚动条时内容混乱的解决方法

WPF拖动DataGrid滚动条时内容混乱的解决方法 在WPF中,如果DataGrid里使用了模板列,当拖动滚动条时,往往会出现列表内容显示混乱的情况.解决方法就是在Binding的时候给UpdateSourceTrigger赋值. <Grid> <Grid.RowDefinitions> <RowDefinition Height="25"></RowDefinition> <RowDefinition></RowDe

WPF中datagrid不显示滚动条问题

WPF中DataGrid是自带滚动条的,当内容显示不下时可以使用滚动条显示.但是,开发中遇到了DataGrid一直不显示滚动条.之前也曾遇到过同类问题,再次经过查找,发现是StackPanel的原因,特此记录. 以下内容原文请参考:http://www.cnblogs.com/lhx880619/archive/2011/12/08/2281420.html 原因也比较简单 就是因为DataGrid嵌套在了StackPanel中,查看微软文档http://msdn.microsoft.com/z

wpf 获取datagrid中模板中控件

//获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[3].GetCellContent(dataGrid.Items[0]); DataGridTemplateColumn temp = dataGrid.Columns[3] as DataGridTemplateColumn; //img是模板的name object c= temp.CellTemplate.FindName("img", i

WPF入门教程系列十五——WPF中的数据绑定(一)

使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户界面,同时 WPF提供了数据绑定功能.WPF的数据绑定跟Winform与ASP.NET中的数据绑定功能类似,但也有所不同,在 WPF中以通过后台代码绑定.前台XAML中进行绑定,或者两者组合的方式进行数据绑定.您可以绑定控件.公共属性.XML 或对象,WPF中的数据绑定跟WinForm与ASP.NET相比,更加快捷.灵活和简单. 一.什么是数据绑定 WPF 中的数据绑定,必须要有绑定目标和