//绑定数据源方法:1 string sError=string.Empty; Common.DropDownListHelper.SetSource(out sError, ddlAppName, "", 取下拉框数据源的dataTable,true,"无"); if (!string.IsNullOrEmpty(sError)) { Common.MessageBox.Show(this, sError); return; } //绑定数据源方法:2 string sError=string.Empty; Common.DropDownListHelper.SetSource(out sError, ddlAppName, "取下拉框数据源的sql语句(2列就行了:id,value)", null,true,"无"); if (!string.IsNullOrEmpty(sError)) { Common.MessageBox.Show(this, sError); return; } //设置dropDownlist选中某个值 string sSQL = "select GroupID FROM sysUserGroup WHERE AppID= " + hidAppID.Value + " and UserID=" + hidUserID.Value; Common.DropDownListHelper.SelectItem(out sError, ddlGroup, sSQL); if (!string.IsNullOrEmpty(sError)) { Common.MessageBox.Show(this, sError); return; } //Common.MessageBox.Show 方法: /// <summary> /// 显示消息提示对话框 /// </summary> /// <param name="page">当前页面指针,一般为this</param> /// <param name="msg">提示信息</param> public static void Show(System.Web.UI.Page page,string msg) { msg = msg.Replace("'", "\""); // 把单引号替换为双引号 page.ClientScript.RegisterStartupScript(page.GetType(),"message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>"); } // SqlServerHelper 类请参考:http://blog.youkuaiyun.com/keenweiwei/article/details/6845709
asp.net: DropDownList绑定数据源及选中某个值的公用方法及例子
最新推荐文章于 2023-07-15 15:14:55 发布
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; using System.Data; namespace Common { public abstract class DropDownListHelper { public readonly string STRING_VALUE = "STRING_VALUE"; public readonly string STRING_TEXT = "STRING_TEXT"; public static void SetSource(out string sError,DropDownList ddlCtrl, string sSQL,DataTable dtSource = null, bool bSelectFirstItem = false, string sFirstRowText = "") { sError = string.Empty; DataTable dt = null; try { if (!string.IsNullOrEmpty(sSQL)) { dt = SqlServerHelper.GetDataTable(out sError,sSQL); } else if (dtSource != null) { dt = dtSource.Copy(); } } catch (Exception ex) { sError = ex.Message.ToString(); return; } ddlCtrl.Items.Clear(); ddlCtrl.DataSource = null; if (dt != null && dt.Rows.Count > 0 && dt.Columns.Count > 1) // 一般为2列: id列 和 value 列 { if (!string.IsNullOrEmpty(sFirstRowText)) { DataRow dr = dt.NewRow(); dr[dt.Columns[0]] = -1; // 这一项的 ID 值为 -1 dr[dt.Columns[1]] = sFirstRowText; dt.Rows.InsertAt(dr, 0);// 从索引为0的位置插入 } //ddlCtrl.AutoPostBack = true; ddlCtrl.DataSource = dt; ddlCtrl.DataValueField = dt.Columns[0].ColumnName; // 对应ID ddlCtrl.DataTextField = dt.Columns[1].ColumnName; // 显示内容 ddlCtrl.DataBind(); if (bSelectFirstItem) // 是否选中第一项 { int iID = 0; if (Int32.TryParse(dt.Rows[0][0].ToString(), out iID)) { ddlCtrl.SelectedValue = iID.ToString(); } } else { ddlCtrl.Items.Insert(0, "");// 从索引为0的位置插入 } } } public static void SelectItem(out string sError, DropDownList ddlCtrl, string sSQL,string sSelectedValue="") { sError = string.Empty; try { if (!string.IsNullOrEmpty(sSelectedValue)) ddlCtrl.SelectedValue = sSelectedValue; else if (!string.IsNullOrEmpty(sSQL)) { object oResult = SqlServerHelper.GetSingle(sSQL); if (!Common.Tool.IsNullOrEmptyObject(oResult)) ddlCtrl.SelectedValue = oResult.ToString(); } } catch (Exception ex) { sError = ex.Message.ToString(); return; } } } }