wpf中绑定数据库数据,也就是Ado.net的数据绑定和asp.net有点类似,但是差别还是比较大的
这次以dataset和listbox来说明
以前只要listbox绑定数据源和制定绑定的字段,就会生成listbox默认的样子出来,而且样子不能改变
但是现在在wpf中,数据控件没有默认的样子,显示的样式可以通过DataTemplate数据模板来设置。
所谓数据模板相当于asp.net数据控件比如datagrid,gridview中数据模板一样,可以让数据显示成列表或者表格,完全由数据模板内的xaml来设置
读取数据的方法还是ado.net的方法没有什么差别
后台代码
public DataSet GetData()
{
string sql = "select top 10 ID,Name from a";
DataSet ds = SqlHelper.ExecuteDataset(SqlHelper.ConString, CommandType.Text, sql);
return ds;
}
//window加载的时候绑定数据
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.lb.DataContext = GetData();//这个地方lb就是listbox的名字,这里设置绑定数据源
}
前台
<ListBox Name="lb" ItemsSource="{Binding Path=Table}" ItemTemplate="{StaticResource dt}">
</ListBox>
//ItemsSourcelistbox中items要绑定数据源,我们listbox的数据源是dataset,listbox中items当然要显示dataset中的某个表格,dataset默认一个表的时候,表的名字就是Table。
//ItemTemplate这个地方是个关键的新鲜玩意,这个就是数据模板,来指示数据怎么显示,这是一个资源,设置在资源中
<StackPanel.Resources>
<DataTemplate x:Key="dt">
<StackPanel>
<Label Name="lb" Content="{Binding Path=ID}"></Label>
<Button Name="btn" Content="{Binding Path=Name}"></Button>
</StackPanel>
</DataTemplate>
</StackPanel.Resources>
//这个地方简单的就是用stackpanel来显示item的内容,一个label,一个Button来绑定表的字段
这个datatempalte可以设置其他任何的xaml样式,或者grid等等。应该来说显示样式还是比较方便的
这次以dataset和listbox来说明
以前只要listbox绑定数据源和制定绑定的字段,就会生成listbox默认的样子出来,而且样子不能改变
但是现在在wpf中,数据控件没有默认的样子,显示的样式可以通过DataTemplate数据模板来设置。
所谓数据模板相当于asp.net数据控件比如datagrid,gridview中数据模板一样,可以让数据显示成列表或者表格,完全由数据模板内的xaml来设置
读取数据的方法还是ado.net的方法没有什么差别
后台代码
public DataSet GetData()
{
string sql = "select top 10 ID,Name from a";
DataSet ds = SqlHelper.ExecuteDataset(SqlHelper.ConString, CommandType.Text, sql);
return ds;
}
//window加载的时候绑定数据
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.lb.DataContext = GetData();//这个地方lb就是listbox的名字,这里设置绑定数据源
}
前台
<ListBox Name="lb" ItemsSource="{Binding Path=Table}" ItemTemplate="{StaticResource dt}">
</ListBox>
//ItemsSourcelistbox中items要绑定数据源,我们listbox的数据源是dataset,listbox中items当然要显示dataset中的某个表格,dataset默认一个表的时候,表的名字就是Table。
//ItemTemplate这个地方是个关键的新鲜玩意,这个就是数据模板,来指示数据怎么显示,这是一个资源,设置在资源中
<StackPanel.Resources>
<DataTemplate x:Key="dt">
<StackPanel>
<Label Name="lb" Content="{Binding Path=ID}"></Label>
<Button Name="btn" Content="{Binding Path=Name}"></Button>
</StackPanel>
</DataTemplate>
</StackPanel.Resources>
//这个地方简单的就是用stackpanel来显示item的内容,一个label,一个Button来绑定表的字段
这个datatempalte可以设置其他任何的xaml样式,或者grid等等。应该来说显示样式还是比较方便的
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。