键入“强制转换发送方(对象)”作为下拉列表并将数据绑定到其中
本文关键字:下拉列表 数据绑定 转换 对象 键入 | 更新日期: 2023-09-27 18:35:38
我想使用一个函数将数据绑定到同一页面上的多个RadDropDownList。
.ASPX:
<telerik:RadDropDownList OnPreRender="bind_dd"ID="pprice_paymethod"
ClientIDMode="Static"runat="server" Width="100px" Skin="Metro" DefaultMessage="Pay
Method"AppendDataBoundItems="true"></telerik:RadDropDownList>
C#
protected void bind_dd(object sender, EventArgs e)
{
RadDropDownList dd = sender as RadDropDownList;
dd.DataSource = ds.Tables[0];
dd.DataValueField = "Payment_Type_ID";
dd.DataTextField = "Payment_Type";
dd.DataBind();
}
灵魂?
- 在这种情况下,我的数据库中有一个查找表,它是由 CategoryID 设置的。字段如下
LookUpID int
类别 ID int
描述 瓦尔查尔(20)
价值瓦尔查尔(10)
LookupGroup int
这是将调用函数的调用
FillAjaxDropDown(LookUpCategory.Gender, ddlGender, DropDownComboDefault.DefaultValueEmpty)
在这种情况下,我在查找表中发送了所需数据的类别ID
性别我发送下拉控件 - 我在 ASP.Net 页面中的控件在本例中 ddlGender
我发送它,
我希望在这种情况下绑定控件时如何显示默认值空public void FillAjaxDropDown(int iCategoryID, AjaxControlToolkit.ComboBox ddl, DropDownComboDefault DefaultValue){
-这是我的数据访问层,它创建了一个新的数据访问 达尔。数据访问 Dal = 新的 DAL。数据访问();
-这将创建数据类型,我将填充我的下拉列表 dynamic obj = new LookUpCollection();
- 这是对数据访问的调用,它调用存储过程并填充我的 LookupCollection 对象。
obj = Dal.GetLookupByCategoryID(iCategoryID);
-我检查对象中是否有记录 如果(对象。计数> 0) {
我确保下拉列表中没有选择任何内容 ddl.SelectedIndex = -1;
我将数据设置为对象。 ddl.数据源 = obj;
在我的对象中设置字段 ddl.DataValueField = "Value"; ddl.DataTextField = "Description";
-我将数据对象绑定到下拉控件 ddl.DataBind();
根据为 DropDownComboDefault 发送的内容,如果我希望第一个字段不显示任何内容,即空字符串或显示 -Select- 的字符串,我确定默认显示是什么
**switch (DefaultValue) { case DropDownComboDefault.DefaultValueNone: break; case DropDownComboDefault.DefaultValueEmpty: ddl.Items.Insert(0, ""); ddl.SelectedIndex = 0; break; case DropDownComboDefault.DefaultValueSelect: ddl.Items.Insert(0, "--Select--"); ddl.SelectedIndex = 0; break; } }
}
创建此函数
public void FillDropDown(dd RadDropDownList){
dd.DataSource = ds.Tables[0];
dd.DataValueField = "Payment_Type_ID";
dd.DataTextField = "Payment_Type";
dd.DataBind();
}
--调用函数
FillDropDown(dd);
-- dd 是下拉控件的名称
问题解决了。
溶液:
<telerik:RadDropDownList OnPreRender="bind_dd" ID="pprice_paymethod" ClientIDMode="Static" runat="server" Width="100px" Skin="Metro" DefaultMessage="Pay Method" OnClientSelectedIndexChanged="BusinessLogic_EnableBillButton"></telerik:RadDropDownList>
protected void bind_dd(object sender, EventArgs e)
{
RadDropDownList dd = sender as RadDropDownList;
dd.DataSource = ds.Tables[0];
dd.DataValueField = "Payment_Type_ID";
dd.DataTextField = "Payment_Type";
dd.DataBind();
}