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. thinkphp如何一次性的上传多个文件,在文件域中可以多选?

    可以做到类似于某度网盘的样式吗? 文件夹的命名, 可以用单数, 也可以用复数, 在同一个项目中, 只要统一就好了. 毕竟项目开发不同于英语写作. 建议使用缩写, 不管是不是缩写都用单数, 这样简洁,容 ...

  2. iptables原理

    1.iptables防火墙简介 Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入.流出.流经服务器的数据包进 ...

  3. PX 和PT的区别

    字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢? 先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点: pt就是point,是印刷行业常用单位,等于1/72英 ...

  4. MVC开发模式下的用户角色权限控制

    前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...

  5. 【Python网络爬虫二】使用urllib2抓去网页内容

    在Python中通过导入urllib2组件,来完成网页的抓取工作.在python3.x中被改为urllib.request. 爬取具体的过程类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求 ...

  6. IIS GZip

    优点:提高网页响应速度(静态压缩会占用一定的存储空间,但是速度快,而动态压缩不占用存储空间,但是占用CPU时间,而且压缩比不恒定.) 缺点:动态压缩会影响CPU性能. win7:设置: iis管理器- ...

  7. css单位盘点

    css单位有:px,em,rem,vh,vw,vmin,vmax,ex,ch 等等 1.px单位最常见,也最直接,这里不做介绍. 2.em:em的值并不是固定,它继承父级元素的字体大小,所以层数越深字 ...

  8. Qt json 数据处理

    用到的头文件 #include <QJsonArray> #include <QJsonDocument> #include <QJsonObject> json解 ...

  9. Linux下编译安装MariaDB

    MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代,MariaDB的诞生正是出自MySQL创始人Michael Widenius之 ...

  10. jQuery根据name取input值问题

    最近做项目用$("input[name=inputName]").val();去取input值得时候发现取值有问题:总是取第一次输入的值,如果在同一个页面不发生表单提交,然后将in ...