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>

  

转载于:https://www.cnblogs.com/jRoger/articles/2177994.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值