绑定Combobox

时间:2011-02-15 15:49:53

标签: c# linq data-binding jcombobox ext.net

我正在使用Ext.Net开发一个Web应用程序。

如何从数据库中绑定组合框?

这是我的疑问:

dynamic getRegions = (
    from region in db.Regions 
    orderby region.RgnName 
    select region.RgnName);

3 个答案:

答案 0 :(得分:2)

根据我的意识,您必须Ext.Net.ComboBox使用Ext.Net.Store。例如:

<!-- In SamplePage.aspx -->
<ext:ResourceManager runat="server"></ext:ResourceManager>
<ext:Store runat="server" ID="Store1">          
    <Reader>
        <ext:JsonReader IDProperty="Value">
            <Fields>
                <ext:RecordField Name="Key" />
                <ext:RecordField Name="Value" />
            </Fields>
        </ext:JsonReader>
    </Reader>
</ext:Store>

<ext:ComboBox runat="server" ID="myCombo" StoreID="Store1" 
     DisplayField="Key" ValueField="Value">
</ext:ComboBox>

// In SamplePage.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    var getRegions = new Dictionary<string, string>();
    getRegions.Add("Region1", "England");
    getRegions.Add("Region2", "Scotland");
    getRegions.Add("Region3", "Wales");

    Store1.DataSource = getRegions;
    Store1.DataBind();
}

这会导致页面包含一个显示三个值的Ext.Net组合框。您几乎肯定需要进一步调整以获得您正在追求的内容(因为我不熟悉您的数据库架构),但它应该指向正确的方向。

答案 1 :(得分:0)

答案 2 :(得分:0)

出于兴趣,这是另一个快速<ext:ComboBox>示例,它演示了如何在不使用<ext:Store>的情况下向ComboBox添加数据。基本上与使用<asp:DropDownList>和添加ListItem对象相同的技术。

示例

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!X.IsAjaxRequest)
        {
            // Add individual Items
            this.ComboBox1.Items.Add(new ListItem("Region1", "England"));
            this.ComboBox1.Items.Add(new ListItem("Region2", "Scotland"));
            this.ComboBox1.Items.Add(new ListItem("Region3", "Wales"));

            // AddRange alternative
            // this.ComboBox1.Items.AddRange(new ListItem[] {
            //     new ListItem("Region1", "England"),
            //     new ListItem("Region2", "Scotland"),
            //     new ListItem("Region3", "Wales")
            // });
        }
    }
</script>

<ext:ComboBox ID="ComboBox1" runat="server" />

干杯!