English 中文(简体)
Binding Combobox
原标题:

I am developing a web application with Ext.Net.

How can I bind combobox from database?

This is my query:

dynamic getRegions = (
    from region in db.Regions 
    orderby region.RgnName 
    select region.RgnName);
最佳回答

Just out of interests sake, here s another quick <ext:ComboBox> sample which demonstrates adding data to the ComboBox without using an <ext:Store>. Basically the same technique as using an <asp:DropDownList> and adding ListItem objects.

Example

<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" />

Cheers!

问题回答

You have to, for an Ext.Net.ComboBox use an Ext.Net.Store as far as I m aware. For example:

<!-- 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();
}

This results in a page that contains a single Ext.Net combobox that has three values displayed. You ll almost certainly need to tweak this further to get exactly what you re after (as I m not familiar with your database schema), but it should point you in the right direction.





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签