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>

原文:http://www.cnblogs.com/sjrhero/articles/2177994.html

时间: 2024-12-13 09:31:52

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

WPF中Listbox/ListView 横向展示/滑动内容的方法

<ListView Name="BoardListView" ScrollViewer.VerticalScrollBarVisibility="Hidden" Height="100" VerticalAlignment="Bottom"> <ListView.ItemsPanel> <ItemsPanelTemplate> <WrapPanel/> </ItemsPan

WPF中Grid绑定DataTable数据。

1.首先引用DocumentFormat.OpenXml.dll 2.然后新建一个OpenExcelHelper类,将Excel转化为Datatable. /// <summary>        /// 根据指定EXCEL流组织成DataTable        /// </summary>        /// <param name="sheetName">需要读取的SHEET</param>        /// <para

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

ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来讲,后台绑定的ItemSource绑定的一般都是List<T>格式,而List<T>有个方法是Take和Skip,分别意思是取List部分和跳过List部分. 取数据的格式是:List.take().Skip(); 二.话不多说,实例说话(后面会附有该例子链接,仅供参考) (1)Xam

WPF MVVM ListView动态绑定数据

? 界面 ? <Window x:Class="WpfApplication8.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350&quo

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

在使用listview的时候,因为处理的数据较多,为防止在处理数据时出现假死的状态出现卡的情况,我们使用委托进行处理添加数据 定义委托 private delegate void AddListView(ListViewItem item); 定义添加数据的方法 /// <summary> /// /// </summary> /// <param name="item"></param> private void AddListView

AlertDialog中使用ListView绑定数据

在实际工作过程中,单单使用AlertDialog的单选功能不一定能满足我们的需求,需要绑定数据到 listview 1. 自定义Layout LayoutInflater factory = LayoutInflater.from(DialogActivity.this);final View view = factory.inflate(R.layout.linerlayout, null); 2,构造数据 List<Map<String, String>> nameList =

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

在网上很难找最简单的案例,都是一大片,看着都头疼: 试试举一反三,如果把结果赋给DataContext这个属性,那就前台需要绑定ItemsSource="{Binding}",请注意.直接赋给ItemsSourc就不要绑定了: 后台代码: List<string> list = new List<string>(); for (int i = 0; i < 100; i++) { list.Add("sas" + i); } this.

java--jsp+ssh+select动态绑定数据并选中(解决方案)

在三层架构与jsp组合的项目中,如何实现select动态绑定数据并动态选中指定行?且看下文: 1.先定义一个Bean类,用于实例化select绑定的每一条数据的id和name: public class DropDownListBean { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } publi

WPF中的数据模板(DataTemplate)(转)

原文地址 http://www.cnblogs.com/zhouyinhui/archive/2007/03/30/694388.html WPF中的数据模板(DataTemplate)                                                                                                                          周银辉 在WPF中我们可以为自己的数据定制显示方式,也就是说虽然某数据