WPF中为ListView动态绑定数据(可参考)
GridView gv =
new
GridView();
DataTable dt = fieldManageBLL.GetFieldManage(moduleName);
for
(
int
i=0;i<dt.Rows.Count;i++)
{
if
(i==0)
{
GridViewColumn gvc=
new
GridViewColumn();
CheckBox cb =
new
CheckBox();
cb.Checked +=
new
RoutedEventHandler(
new
SupplierPayBill().cb_Checked);
cb.Content =
new
TextBlock().Text =
"全选"
;
_gvc.Header = cb;
_gvc.Width = 100;
_gvc.CellTemplate = (DataTemplate)resources[
"TheCheckBox"
];
gv.Columns.Add(_gvc);
continue
;
}
gvc.DisplayMemberBinding =
new
Binding(dt.Rows[i][
"FieldManage_Field"
].ToString());
}
return
gv;
//其中:dt.Rows[i]["FieldManage_Field"].ToString();分别对应以下DataTemplate中的x:Key的值。
//至于DisplayMemberBinding我才接触几天,目前的理解是只显示数据而没有其它效果;而CellTemplate则可以在显示的数据上加上控件的效果,比如CheckBox、Hyperlink等
//XAML代码:
<Window.Resources>
<!-- 复选框 -->
<DataTemplate x:Key=
"TheCheckBox"
>
<TextBlock VerticalAlignment=
"Center"
>
<CheckBox Name=
"ckb_SelectAll"
Click=
"ckb_SelectAll_Click"
Margin=
"6 0 0 0"
>
<!--<TextBlock Foreground=
"White"
>全选</TextBlock>-->
</CheckBox>
</TextBlock>
</DataTemplate>
<!-- 序号 -->
<DataTemplate x:Key=
"TheIndex"
>
<TextBlock Width=
"100"
Text=
"{Binding Path=TheIndex}"
Style=
"{StaticResource NormalTextBlockStyle}"
TextAlignment=
"Center"
></TextBlock>
</DataTemplate>
<!--单据号-->
<DataTemplate x:Key=
"StoBill_No"
>
<TextBlock Width=
"150"
Text=
"{Binding Path=StoBill_No}"
Tag=
"{Binding Path=StoBill_ID}"
Style=
"{StaticResource NormalTextBlockStyle}"
TextAlignment=
"Right"
Padding=
"0,0,20,0"
></TextBlock>
</DataTemplate>
<!--单据类型-->
<DataTemplate x:Key=
"StoBillsType_Name"
>
<TextBlock Width=
"100"
Text=
"{Binding Path=StoBillsType_Name }"
Style=
"{StaticResource NormalTextBlockStyle}"
TextAlignment=
"Center"
></TextBlock>
</DataTemplate>
<!--时间-->
<DataTemplate x:Key=
"StoBill_OperationDate"
>
<TextBlock Width=
"150"
Text=
"{Binding Path=StoBill_OperationDate,StringFormat='{}{0:yyyy-MM-dd HH:mm}'}"
Style=
"{StaticResource NormalTextBlockStyle}"
TextAlignment=
"Left"
></TextBlock>
</DataTemplate>
<!--应付-->
<DataTemplate x:Key=
"StoBill_NotPaid"
>
<TextBlock Width=
"100"
Text=
"{Binding Path=StoBill_NotPaid,StringFormat='N'}"
Style=
"{StaticResource NormalTextBlockStyle}"
TextAlignment=
"Right"
Padding=
"0,0,20,0"
></TextBlock>
</DataTemplate>
<!--单据明细-->
<DataTemplate x:Key=
"DanjuDetail"
>
<TextBlock TextAlignment=
"Center"
Width=
"100"
>
<Hyperlink Name=
"hpl_DanjuDetailListView"
Tag=
"{Binding StoBill_ID}"
Click=
"hpl_DanjuDetailListView_Click"
>
<TextBlock x:Name=
"tbl_DanjuDetail"
Text=
"单据明细"
/>
</Hyperlink>
</TextBlock>
</DataTemplate>
<!--结算明细-->
<DataTemplate x:Key=
"JieSuanDetail"
>
<TextBlock TextAlignment=
"Center"
Width=
"100"
>
<Hyperlink Name=
"hpl_JieSuanDetailListView"
Tag=
"{Binding StoBill_ID}"
Click=
"hpl_JieSuanDetailListView_Click"
>
<TextBlock x:Name=
"tbl_DanjuDetail"
Text=
"结算明细"
/>
</Hyperlink>
</TextBlock>
</DataTemplate>
</Window.Resources>
WPF中为ListView动态绑定数据(可参考)的更多相关文章
- WPF中ListBox /ListView如何改变选中条背景颜色
适用ListBox /ListView WPF中LISTVIEW如何改变选中条背景颜色 https://www.cnblogs.com/sjqq/p/7828119.html
- WPF中Grid绑定DataTable数据。
1.首先引用DocumentFormat.OpenXml.dll 2.然后新建一个OpenExcelHelper类,将Excel转化为Datatable. /// <summary> ...
- WPF - 多列ListView添加数据的多种方式
多列ListView: <ListView x:Name="listView"> <ListView.View> <GridView> < ...
- WPF中ListBox ListView数据翻页浏览笔记(强调:是数据翻页,非翻页动画)
ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来 ...
- 【WinForm】线程中向listview添加数据
在使用listview的时候,因为处理的数据较多,为防止在处理数据时出现假死的状态出现卡的情况,我们使用委托进行处理添加数据 定义委托 private delegate void AddListVie ...
- AlertDialog中使用ListView绑定数据
在实际工作过程中,单单使用AlertDialog的单选功能不一定能满足我们的需求,需要绑定数据到 listview 1. 自定义Layout LayoutInflater factory = Layo ...
- WPF中DataGrid在没有数据的时候也可以显示水平滚动条
今天做项目中遇到个问题,就是页面加载后默认DataGrid是不加载数据的,但是DataGrid的列很多,就导致了运行效果上,此窗口的DataGrid没有水平滚动条,类似图片的效果. 经过百度和摸索,使 ...
- wpf ListBox或ListView等数据控件 绑定数据,最简单的方式
在网上很难找最简单的案例,都是一大片,看着都头疼: 试试举一反三,如果把结果赋给DataContext这个属性,那就前台需要绑定ItemsSource="{Binding}",请注 ...
- GridView中给DropDownList动态绑定数据,及选择列表值后自动更新数据库
protected void sgvFile1_RowDataBound(object sender, GridViewRowEventArgs e) { DropDownList ddlAM = ( ...
随机推荐
- 硬盘安装linux的两条命令
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso ro quiet splas ...
- mysql导出部分表数据
mysqldump -uroot -p -h 192.168.1.11 -P 3306 mojiarticle UID_IMEI --where "ID > 1021230 and I ...
- js面向对象
什么事面向对象 用对象的思想去写代码,就是面向对象编程 面向对象编程(OOP)的特点 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有对象上继承出新的对象 多态:多对象的不同形态 对象的 ...
- Python 30分钟入门——数据类型 and 控制结构
Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Pytho ...
- 懒加载插件- jquery.lazyload.js
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- ng-repeat
<html ng-app="compile"> <head> <script src="http://apps.bdimg.com/libs ...
- Spring mvc时间格式处理
spring mvc中,如果时间格式是yyyy-MM-dd,传入后台会报错,要增加一些配置才可以. 1.修改spring-mvc.xml,增加org.springframework.format.su ...
- StringUtils中 isNotEmpty 和isNotBlank的区别
isNotEmpty : 判断某字符串是否非空 StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = ...
- HDU 1166 敌兵布阵 线段树单点更新求和
题目链接 中文题,线段树入门题,单点更新求和,建一棵树就可以了. #include <iostream> #include <cstdio> #include <cmat ...
- oracle中trunc()和to_char()函数用法
-----trunc(for date) select sysdate from dual; --当前时间 2016/9/7 10:32:04select trunc(sysdate) from d ...