zoukankan      html  css  js  c++  java
  • WPF数据绑定之Ado.net的数据库连接绑定

    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等等。应该来说显示样式还是比较方便的

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    BZOJ 2055 80人环游世界 有上下界最小费用可行流
    BZOJ 2406 LuoguP4194 矩阵 有上下界可行流
    BZOJ4873 LuoguP3749 寿司餐厅
    51nod 1551 集合交易 最大权闭合子图
    BZOJ 1565 植物大战僵尸 最大权闭合子图+网络流
    [CodeForces]460C Present
    [BZOJ5072] 小A的树
    [TJOI2015]组合数学
    [HNOI2006]鬼谷子的钱袋
    [IOI2007]矿工配餐
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319315.html
Copyright © 2011-2022 走看看