首先来看一下如何使用GridView,在前台的话代码如下:这里仅仅举出一个例子,GridView是作为子项嵌套在ListView中的,这里的数据源是通过绑定的方式来绑定到GridView中的。

<ListView Margin="15,115,15,48" Name="lstProducts" ItemsSource="{Binding}"><ListView.View><GridView><GridViewColumn Header="ProductID"DisplayMemberBinding="{Binding Path=ProductID}"></GridViewColumn><GridViewColumn Header="Product Name"DisplayMemberBinding="{Binding Path=ProductName}"></GridViewColumn><GridViewColumn Header="SupplierID"DisplayMemberBinding="{Binding Path=SupplierID}"></GridViewColumn><GridViewColumn Header="CategoryID"DisplayMemberBinding="{Binding Path=CategoryID}"></GridViewColumn><GridViewColumn Header="Qty. Per Unit"DisplayMemberBinding="{Binding Path=QuantityPerUnit}"></GridViewColumn><GridViewColumn Header="Unit Price"DisplayMemberBinding="{Binding Path=UnitPrice}"></GridViewColumn><GridViewColumn Header="In Stock"DisplayMemberBinding="{Binding Path=UnitInStock}"></GridViewColumn></GridView></ListView.View>
</ListView>  

这里有一些关键字,Header和DisplayMemberBinding,在前台中我们可以通过修改模板的方式来修改GridView的样式,首先我们可以修改GridView的列头的样式,我们可以改变背景,字体大小,高度等一系列参数。 
<GridView.ColumnHeaderTemplate><DataTemplate><TextBlock FontFamily="Microsoft YaHei" FontSize="35" Foreground="White" Background="#333" Width="265" HorizontalAlignment="Center" TextAlignment="Center"><TextBlock.Text><Binding/></TextBlock.Text></TextBlock></DataTemplate>
</GridView.ColumnHeaderTemplate>  

另外还有一个重要的模板,就是CellTemplate,我们需要注意GridViewColumn用了DisplayMemberBinding 使得CellTemplate失效,所以如果需要自定义CellTemplate,那么一定要去掉 DisplayMemberBinding。 下面是一个具体的例子。首先在资源中定义模板,
<DataTemplate x:Key="GridViewCellTemplate"><TextBlock FontFamily="Microsoft YaHei" Height="60" FontSize="35" Foreground="White" Background="Gray" Width="265" HorizontalAlignment="Center" TextAlignment="Center"><TextBlock.Text><Binding Path="DisplayName" Mode="TwoWay"/></TextBlock.Text></TextBlock>
</DataTemplate>

然后在具体的列中引用,<GridViewColumn Header="投诉人"   Width="Auto" CellTemplate="{StaticResource GridViewCellTemplate}" ></GridViewColumn>这样就可以实现对每一列的模板替换。

还有很重要的一部分就是在后台来讲数据库绑定到前台中,在xaml中我们使用了ItemsSource="{Binding}",那么在后台的代码中:

/// <summary>
/// 从数据库中获取数据并绑定到GridView上
/// </summary>
private void GetDataFromDataBase()
{
string connectStr = "Server=127.0.0.1;Database=test;Uid=root;Pwd=12345;Port=3306;CharSet=gbk;allow zero datetime=true";
string cmdStr = "select * from camerainfo order by pID desc limit 100";
DataBaseMySqlHander sql = new DataBaseMySqlHander(connectStr);
DataTable dt = sql.GetDataTable(cmdStr);
if (dt == null) return;
//创建一个DataTable的副本
DataTable tempTable = new DataTable();
tempTable = dt.Clone();//克隆 System.Data.DataTable 的结构
//包括所有 System.Data.DataTable 架构和约束。
if (tempTable != null && dt.Rows.Count>0)
{for (int i = 0; i < dt.Rows.Count; i++){tempTable.ImportRow(dt.Rows[i]); }
}
//为ListView绑定数据源
this.dv= tempTable.DefaultView;
tempTable.Dispose();
}  
以上部分就实现了简单的数据库的绑定,这部分也是非常重要的部分,我们在使用的时候可以按照上述步骤来进行绑定!

转载于:https://www.cnblogs.com/seekdream/p/4602902.html

WPF将数据库和GridView绑定并更改GridView模板相关推荐

  1. 如何更改gridview中任意单元格颜色或者内容。

    比如我想把所有状态这一列名字为等待打印的字为红色.或者这个格子为红色.. 首先任意下一个方法:这个只是表面的更改. public string GetColor(object value) {if ( ...

  2. Dev GridView 绑定Listlt;Tgt;、BindingList lt;Tgt;、BindingSource

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 今天听到同事处理数据结构的时候特意处理为了 BindingList<T>,据说可以直接 ...

  3. html gridview绑定数据,winform,devexpress GridControl中GridView数据绑定

    当我们新建一下GridControl的时候,就会有一个默认的GridView,这时我们如何绑定数据到GridView上呢? 只需要一行代码就可绑定了,代码如下:gridControl1.DataSou ...

  4. ASP.NET的属性绑定、表达式绑定、集合绑定、方法绑定、DropDownList集合绑定、DataList绑定、GridView绑定

    属性绑定 .aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defau ...

  5. WPF中一个控件绑定另一个控件的属性

    原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin=&qu ...

  6. GridView绑定DataSet的DataTable,怎么让它在无记录时能显示表头呀(环境VS2005),在线等 谢谢!!

    主 题:   GridView绑定DataSet的DataTable,怎么让它在无记录时能显示表头呀(环境VS2005),在线等 谢谢!! 作 者:   bolowang (波罗王子)        ...

  7. 在WPF中如何使用RelativeSource绑定

    在WPF中如何使用RelativeSource绑定 原文: 在WPF中如何使用RelativeSource绑定 在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource. 这种办 ...

  8. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  9. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...

     mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...

最新文章

  1. 详细通俗重点CRF层讲解
  2. 面向对象数据库和关系数据库的区别
  3. 多线程中的队列不一定需要线程安全
  4. 【☢️伤害性不高,侮辱性极强!☢️】Win10更新21H1后关闭右下角天气和新闻
  5. 从零开始发布自己的NPM包
  6. java写出http数据包_java用jpcap怎么识别出http和https的数据包?
  7. 从零开始造一个“智障”聊天机器人
  8. 提取图像色彩主色调工具
  9. oracle vm 4.3.12,Oracle VM VirtualBox 4.3.12_ZZZZ这个程序肿么卸载啊,卸载不了
  10. 如何使用SqlLoader导入数据
  11. win7打开win10共享计算机要凭据,win10打开共享文件夹后要求凭证怎么办
  12. macbook边缘磕碰如何修复
  13. ShareX加七牛云免费搭建快速博客图床
  14. B端产品-定义、分类、竞品分析、与C端产品的区别
  15. 运行项目页面显示“该网页无法正常运作”的解决办法 - 前端篇
  16. 利用计算机设计产品,计算机在产品设计的应用论文
  17. 赵俊峰内蒙古大学计算机学院,内蒙古大学计算机学院研究生导师:赵俊峰
  18. mysql 5.7修改密码
  19. TDM-GCC MINGW配置与优化算法测试函数使用
  20. 学习C++的参考书目

热门文章

  1. idea中新建分支并且切换到新建的分支上
  2. 操作系统:166个Linux实用命令,太全了!
  3. 计算机系统基础:输入输出技术知识笔记
  4. 汇编程序基本原理知识笔记
  5. $.ajax()参数详解及标准写法
  6. apk私钥_获取APK证书MD5、SHA1、SHA256等秘钥
  7. 迭代器 java_面试必备(含答案):30 个 Java 高频面试问题
  8. C语言algorithm主函数,C语言中主函数中相关有关问题?
  9. mysql001创建数据库
  10. 分布式实物实现方式_这是您完成实物产品设计任务的方式