您的位置:首页 > 其它

WPF中DataGrid数据绑定(泛型和datatable)

2016-07-16 19:53 495 查看
前台代码:

<span style="font-family:KaiTi_GB2312;font-size:24px;"><DataGrid x:Name="DgCollectCash" HorizontalAlignment="Left" Margin="26,113,0,0" VerticalAlignment="Top" Height="238" Width="857" FontSize="24" FontFamily="Microsoft YaHei Light" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Width="15*" Header="卡号" Binding="{Binding CardID}"/>
<DataGridTextColumn Width="15*" Header="充值金额" Binding="{Binding AddMoney}" />
<DataGridTextColumn Width="15*" Header="充值日期" Binding="{Binding Date}"/>
<DataGridTextColumn Width="15*" Header="充值时间" Binding="{Binding Time}"/>
<DataGridTextColumn Width="15*" Header="充值教师" Binding="{Binding UserID}"/>
<DataGridTextColumn Width="15*" Header="结账状态" Binding="{Binding IsCheck}"/>
</DataGrid.Columns ></span>


效果显示:                                      

下面就来解释一下代码:

ItemsSource:为了使下面可以绑定数据库

AutoGenerateColumns="False":为了可以显示你规定的东西,而不是从数据库查出来之后就把那一整条全部显示出来。如果改成ture,请见下图:

                                                        


DataGridTextColumn Width="15*" Header="卡号" Binding="{Binding CardID}"

    这一句代码:上面的header,我们是给datagird的列名命名。后面的Bingding,是为了绑定数据库。如果这里的datagrid接收的是泛型,那么后面的Bingding CardID中的CardID应该是和实体的命名一样的,因为datetable在转化为泛型的时候,是通过实体的。如果这里接收的datatable,绑定的时候,名字应该是和数据库字段名字相同的。

看完前面的,下面我们来看后台代码,datagrid是如何来接收数据的。(C#版)

1、泛型:datagrid.ItemsSource =我们传回来的泛型即可

2、datatable:datagrid.DataContext=我们传回来的datatable即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: