我正在使用Ext.Net开发一个Web应用程序。
如何从数据库中绑定组合框?
这是我的疑问:
dynamic getRegions = (
from region in db.Regions
orderby region.RgnName
select region.RgnName);
答案 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" />
干杯!