博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext.Net- 数据源的绑定ComboBox
阅读量:5296 次
发布时间:2019-06-14

本文共 3541 字,大约阅读时间需要 11 分钟。

  Ext.Net对数据的绑定有一些不同的地方. 他在数据方面的绑定还没有ASP.NET做的好. 但他制造出来的控件确实挺漂亮的. 对数据的绑定看一个ComBoBox应该其他的就懂了.

  其实他都是通过一个Store字段对数据进行绑定的. 可是Store字段有两种写法, 如下面, 第一种是不支持从数据库获取数据进行绑定的, 只能自己定义一个OBJECT数组进行绑定, 而第二种是支持从数据库从获取数据进行绑定的. 需要知道这一点区别, 不然你在没发现前会和我一样, 很捉狂, 不知道出了什么情况

        <ext:Store ID="Store1" runat="server">
            <Reader>
                <ext:ArrayReader>
                    <Fields>
                        <ext:RecordField Name="name" />
                        <ext:RecordField Name="id" />
                    </Fields>
                </ext:ArrayReader>
            </Reader>
        </ext:Store>
        <ext:Store ID="Store1" runat="server" OnRefreshData="Store1_RefreshData">
            <Reader>
                <ext:JsonReader IDProperty="Id">
                    <Fields>
                        <ext:RecordField Name="Name" />
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
第一种情况 第二种情况

 

  下面通过两段代码, 进行数据源绑定,一种是通过OBJECT数组绑定的, 另一种是通过数据库进行绑定的. 有一点需要明确的, 通过数据库进行绑定的, 如果没有传到类里, 必需和数据库字段一样. 如果传到类里, 需要和类的属性字段一样.

  第一段程序:

protected void Page_Load(object sender, EventArgs e) { this.Store1.DataSource = new object[] { new object[] { "AL", "Alabama"}, new object[] { "AK", "Alaska"}, new object[] { "AZ", "Arizona" }, new object[] { "AR", "Arkansas"}, new object[] { "CA", "California" }, new object[] { "CO", "Colorado"}, new object[] { "CT", "Connecticut" }, new object[] { "DE", "Delaware" } }; this.Store1.DataBind(); }

  第二段程序(另外要注意 DisplayField="Name" ValueField="Id" 和Store字段显示和取值要相同)

public class Person    {        private int id;        private string name;        public int Id        {            get { return id; }            set { id = value; }        }        public string Name        {            get { return name; }            set { name = value; }        }    }        
protected void Page_Load(object sender, EventArgs e) { if (!X.IsAjaxRequest) { this.Store1.DataSource = GetDataReader(); this.Store1.DataBind(); } } private List
GetDataReader() { List
lists = new List
(); using (SqlConnection conn = new SqlConnection("server=.;database=YHM;uid=sa;pwd=123456")) { conn.Open(); using (SqlCommand cmd = new SqlCommand("select * from comb", conn)) { SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Person person = new Person(); person.Id = Convert.ToInt32(dr["id"]); person.Name = Convert.ToString(dr["name"]); lists.Add(person); } } } return lists; } protected void Store1_RefreshData(object sender, StoreRefreshDataEventArgs e) { this.Store1.DataSource = GetDataReader(); this.Store1.DataBind(); }

 

 

转载于:https://www.cnblogs.com/cxeye/articles/2833546.html

你可能感兴趣的文章
【模板】对拍程序
查看>>
dos批处理(bat)运行exe
查看>>
Pycharm安装Markdown插件
查看>>
【转】redo与undo
查看>>
C#更新程序设计
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Shell命令-内置命令及其它之watch、date
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
【NodeJS】http-server.cmd
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>
P2P综述
查看>>
第五章 如何使用Burp Target
查看>>
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&amp;语法
查看>>