我们做。net的,会经常遇到将一个dt显示在Ui上,WPF也可以。
我们可以用ListView来显示DT,如下
XMAL代码
<Window x:Class="使用ADO.NET作为Binding的数据源.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel Background="LightBlue">
<ListView x:Name="list" Height="130" Margin="5">
<ListView.View>
<GridView>
<GridViewColumn Header="年龄" Width="60" DisplayMemberBinding="{Binding Path=Age}"/>
<GridViewColumn Header="名称" Width="60" DisplayMemberBinding="{Binding Path=Name}"/>
<GridViewColumn Header="性别" Width="60" DisplayMemberBinding="{Binding Path=Sex}"/>
<GridViewColumn Header="国籍" Width="60" DisplayMemberBinding="{Binding Path=Controy}"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</Window>
C#代码
namespace 使用ADO.NET作为Binding的数据源
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataTable dt = new DataTable();
dt.Columns.Add("Age");
dt.Columns.Add("Name");
dt.Columns.Add("Sex");
dt.Columns.Add("Controy");
DataRow dr = dt.NewRow();
dr[0] = 23;
dr[1] = "张三";
dr[2] = "男";
dr[3] = "中国";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1[0] = 26;
dr1[1] = "李氏";
dr1[2] = "男";
dr1[3] = "中国";
dt.Rows.Add(dr1);
//这是重点
this.list.ItemsSource = dt.DefaultView;
}
}
}
需要注意的是,ListView和GridView不是同一级别的。
ListView的View属性是一个ViewBase类型的对象,GirdView是ViewBase类的派生类,