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>
 
原文:http://www.cnblogs.com/sjrhero/articles/2177994.html

WPF中为ListView动态绑定数据(可参考)的更多相关文章

  1. WPF中ListBox /ListView如何改变选中条背景颜色

    适用ListBox /ListView WPF中LISTVIEW如何改变选中条背景颜色 https://www.cnblogs.com/sjqq/p/7828119.html

  2. WPF中Grid绑定DataTable数据。

    1.首先引用DocumentFormat.OpenXml.dll 2.然后新建一个OpenExcelHelper类,将Excel转化为Datatable. /// <summary>    ...

  3. WPF - 多列ListView添加数据的多种方式

    多列ListView: <ListView x:Name="listView"> <ListView.View> <GridView> < ...

  4. WPF中ListBox ListView数据翻页浏览笔记(强调:是数据翻页,非翻页动画)

    ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来 ...

  5. 【WinForm】线程中向listview添加数据

    在使用listview的时候,因为处理的数据较多,为防止在处理数据时出现假死的状态出现卡的情况,我们使用委托进行处理添加数据 定义委托 private delegate void AddListVie ...

  6. AlertDialog中使用ListView绑定数据

    在实际工作过程中,单单使用AlertDialog的单选功能不一定能满足我们的需求,需要绑定数据到 listview 1. 自定义Layout LayoutInflater factory = Layo ...

  7. WPF中DataGrid在没有数据的时候也可以显示水平滚动条

    今天做项目中遇到个问题,就是页面加载后默认DataGrid是不加载数据的,但是DataGrid的列很多,就导致了运行效果上,此窗口的DataGrid没有水平滚动条,类似图片的效果. 经过百度和摸索,使 ...

  8. wpf ListBox或ListView等数据控件 绑定数据,最简单的方式

    在网上很难找最简单的案例,都是一大片,看着都头疼: 试试举一反三,如果把结果赋给DataContext这个属性,那就前台需要绑定ItemsSource="{Binding}",请注 ...

  9. GridView中给DropDownList动态绑定数据,及选择列表值后自动更新数据库

    protected void sgvFile1_RowDataBound(object sender, GridViewRowEventArgs e) { DropDownList ddlAM = ( ...

随机推荐

  1. 硬盘安装linux的两条命令

    kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso ro quiet splas ...

  2. mysql导出部分表数据

    mysqldump -uroot -p -h 192.168.1.11 -P 3306 mojiarticle UID_IMEI --where "ID > 1021230 and I ...

  3. js面向对象

    什么事面向对象 用对象的思想去写代码,就是面向对象编程 面向对象编程(OOP)的特点 抽象:抓住核心问题 封装:只能通过对象来访问方法 继承:从已有对象上继承出新的对象 多态:多对象的不同形态 对象的 ...

  4. Python 30分钟入门——数据类型 and 控制结构

    Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Pytho ...

  5. 懒加载插件- jquery.lazyload.js

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  6. ng-repeat

    <html ng-app="compile"> <head> <script src="http://apps.bdimg.com/libs ...

  7. Spring mvc时间格式处理

    spring mvc中,如果时间格式是yyyy-MM-dd,传入后台会报错,要增加一些配置才可以. 1.修改spring-mvc.xml,增加org.springframework.format.su ...

  8. StringUtils中 isNotEmpty 和isNotBlank的区别

    isNotEmpty : 判断某字符串是否非空 StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = ...

  9. HDU 1166 敌兵布阵 线段树单点更新求和

    题目链接 中文题,线段树入门题,单点更新求和,建一棵树就可以了. #include <iostream> #include <cstdio> #include <cmat ...

  10. oracle中trunc()和to_char()函数用法

    -----trunc(for date) select sysdate from dual; --当前时间  2016/9/7 10:32:04select trunc(sysdate) from d ...