• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
目标驱动者
目标........努力........生活.........
博客园    首页    新随笔    联系   管理    订阅  订阅

DevExpress控件(二)动态创建ASPxComboBox

以下代码是实现动态创建ASPxComboBox控件,以及在运行时给控件赋Callback Event, 从而实现两个ASPxComboBox控件数据联动的效果(populating on the fly), 静态效果的实现可参照:http://demos.devexpress.com/ASPxEditorsDemos/ASPxComboBox/ClientAPI.aspx

 

 

代码
 1  protected void Page_Load(object sender, EventArgs e)
 2         {
 3             ASPxComboBox cbxMain = new ASPxComboBox();
 4             cbxMain.ID = "cbx_Main";
 5             cbxMain.DataSource = SQLHELPER.GetDataSet("select eat, name from main_table");
 6             cbxMain.ClientInstanceName = "cbx_Main";
 7             cbxMain.TextField = "name";
 8             cbxMain.ValueField = "eat";
 9             cbxMain.DataBind();
10             cbxMain.ClientSideEvents.SelectedIndexChanged = "function(s, e) { OnCountryChanged(s); }";
11 
12             ASPxComboBox cbxSub = new ASPxComboBox();
13             cbxSub.ID = "cbx_Sub";
14             cbxSub.ClientInstanceName = "cbx_Sub";
15             cbxSub.Callback += new DevExpress.Web.ASPxClasses.CallbackEventHandlerBase(cbxSub_Callback);
16 
17             //注册脚本
18             string js = "<script language=\"javascript\">function OnCountryChanged(cbx_Main) { ";
19             js += "cbx_Sub.PerformCallback(cbx_Main.GetValue().toString());";
20             js += "}</script>";
21 
22             ClientScript.RegisterClientScriptBlock(this.GetType(), "OnCountryChanged", js);
23             pnl_DDL.Controls.Add(cbxMain);
24             pnl_DDL.Controls.Add(cbxSub);
25         }
26 
27         protected void cbxSub_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
28         {
29             ASPxComboBox cbxSub = source as ASPxComboBox;
30             ASPxComboBox cbxMain = this.pnl_DDL.FindControl("cbx_Main") as ASPxComboBox;
31             string value = "";
32             if (cbxMain.SelectedItem != null)
33                 value = cbxMain.SelectedItem.Value.ToString();
34             string subSQL = "select * from sub_table where eat='" + value + "'";
35             cbxSub.DataSource = SQLHELPER.GetDataSet(subSQL);
36             
37             cbxSub.TextField = "E";
38 
39             cbxSub.ValueField = "eaf";
40             cbxSub.DataBind();
41         }

 

 

posted @ 2010-09-20 12:15  IsionWu  阅读(2875)  评论(1)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3