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 = ( ...
随机推荐
- JavaScript - 正则表达式
正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符则匹配失败. 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默 ...
- LPC1769 CAN的自测试模式
一.背景 客户要了一块单路CAN的板子,他希望在没有其他板子的情况下进行自行测试,然后按照我写的 APP选择自收发测试选项,却无法接收到发送的信息,但是外接了一块板子就可以接收到自己发送的 信息:由于 ...
- spring boot开发入门
最近学习了spring boot,刚刚入门,整理下
- Latex使用整理
\section{software academy}(标题) \subsection{software enginner} (小标题) \subsection{computer science} \s ...
- OSI7层模型详解
首先我们借用百度百科上的图片来基本了解一下OSI7层模型的名称以及结构.下面我将从最底层一层一层往上介绍. 物理层:基于Bit传输,是属于物理信道,最基本的机械.电子.定时接口通信信道. 数据链路层: ...
- BZOJ 2160: 拉拉队排练
Description 问长度前 \(k\) 大的奇长度回文子串的乘积. Sol Manacher. 直接马拉车跑一边,统计一下答案,每次将长度-2就可以了. Code /************** ...
- DataReader
Datareader对象不能关使用new关键字创建.但可以使用ExecuteReader()方法创建. DataReader是一行一行的读取记录的.当记录中有数据时Read()返回TRUE,当到记录集 ...
- 前后端分离中,Gulp实现头尾等公共页面的复用
前言 通常我们所做的一些页面,我们可以从设计图里面看出有一些地方是相同的.例如:头部,底部,侧边栏等等.如果前后端分离时,制作静态页面的同学,对于这些重复的部分只能够通过复制粘贴到新的页面来,如果页面 ...
- 通过挂载系统光盘搭建本地yum仓库的方法
在CentOS系统中,我们常常会安装大量的软件,但许多软件包都存在需要依赖性,当然我们可以通过一一安装依赖包来完成安装,但对于有些软件包需要大量的依赖包,再一一安装起来会显得特别麻烦.接下来我们就来讲 ...
- SemanticZoom配合GridView组件的使用关键点
1,SemanticZoom 有两个重要属性 默认值ZoomedInView(不设置的话,默认显示,包括分类名和分类成员)和ZoomedOutView(这个是缩小后的目录,只要包括分类名,点击跳到对应 ...