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注册。

  • 相关阅读:
    在JavaScript中对HTML进行反转义
    JavaScript 删除数组中的对象
    CSS中的before和:after伪元素深入理解
    关于css浮动的一点思考
    前端常见跨域解决方案(全)
    window.location对象详解
    51nod 1001 数组中和等于K的数对
    51nod 1002 数塔取数问题
    51nod 1015 水仙花数
    51nod 1080 两个数的平方和
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319315.html
Copyright © 2011-2022 走看看