自定义下拉控件dropdownlist,绑定数据更方便
来源:互联网 发布:lol挂机软件 编辑:程序博客网 时间:2024/05/17 08:57
继承DropDownList
begin
public class MyDropDown : System.Web.UI.WebControls.DropDownList { #region 改变样式 //protected override void Render(System.Web.UI.HtmlTextWriter writer) //{ // writer.Write("aaaaaaaaaaaa"); // this.Attributes["width"] = "100"; //} //protected override void LoadViewState(object savedState) //{ // object[] dlls = (Object[])savedState; // base.LoadViewState(dlls[0]); // System.Collections.ArrayList list = (System.Collections.ArrayList)dlls[1]; // for (int i = 0; i < list.Count; i++) // { // System.Collections.Hashtable hash = (System.Collections.Hashtable)list[i]; // foreach (object key in hash.Keys) // { // Items[i].Attributes.Add(key.ToString(), hash[key].ToString()); // } // } //} //protected override object SaveViewState() //{ // object[] attr = new object[2]; // attr[0] = base.SaveViewState(); // System.Collections.ArrayList list = new System.Collections.ArrayList(); // attr[1] = list; // foreach (ListItem item in this.Items) // { // System.Collections.Hashtable hash = new System.Collections.Hashtable(); // foreach (Object key in item.Attributes.Keys) // { // hash.Add(key, item.Attributes[key.ToString()]); // } // } // return attr; //} //protected override void RenderContents(System.Web.UI.HtmlTextWriter writer) //{ // DropDownList dp = new DropDownList(); // Style s = new Style(); // s.CssClass.Insert(1, ""); // dp.ApplyStyle(); //} #endregion /// <summary> /// 是否添加"请选择"行 /// </summary> private bool isnullrow = false; public bool IsNullRow { get { return isnullrow; } set { isnullrow = value; } } /// <summary> /// 获取下拉框类型 /// </summary> private DropDownType m_dropdowntype; public DropDownType M_DropDownType { get { return m_dropdowntype; } set { m_dropdowntype = value; } } ///// <summary> ///// 表名 ///// </summary> //private string giveTablename; //public string GiveTablename //{ // get { return giveTablename; } // set { giveTablename = value; } //} /// <summary> /// name dropdownlist的text值 /// </summary> private string textFiled; public string TextFiled { get { return textFiled; } set { textFiled = value; } } /// <summary> /// id dropdownlist的value值 /// </summary> private string valueField; public string ValueField { get { return valueField; } set { valueField = value; } } /// <summary> /// 控件绑定的方法 /// </summary> public void Bind() { DataTable dss = new DataTable(); // System.Web.Caching.Cache a = new System.Web.Caching.Cache(); //加入数据到 缓存 //a.Add( //如果缓存中有数据,则从缓存中去获取 if (HttpRuntime.Cache["data"] != null) { //M_DropDownType.GetHashCode()获取到在枚举类型中对应的索引 //通过索引获取缓存(dataset)中的值 //dss = ((DataSet)HttpRuntime.Cache["data"]); dss = ((DataSet)HttpRuntime.Cache["data"]).Tables[0]; } else { try { BaseData bll = new BaseData(); if (!TextFiled.Equals("") && !ValueField.Equals("")) { DataSet ds = bll.GetBaseData(TextFiled, ValueField, M_DropDownType.ToString()); //读取配置文件中,缓存过期时间 int time = int.Parse(ConfigurationManager.AppSettings["cachetime"].ToString()); //将数据保存在缓存中,以提高应用程序性能 HttpRuntime.Cache.Insert("data", ds, null, DateTime.Now.AddMinutes(time), TimeSpan.Zero); dss = ds.Tables[0]; } } catch (Exception ex) { throw; } } if (dss != null) for (int i = 0; i < dss.DataSet.Tables[0].Rows.Count; i++) { ListItem lists = new ListItem(dss.DataSet.Tables[0].Rows[i]["name"].ToString(), dss.DataSet.Tables[0].Rows[i]["id"].ToString()); //if (lists.Value == "1") lists.Selected = true; if (lists.Selected) { lists.Attributes.Add("style", "background-color:white"); } else { lists.Attributes.Add("style", "background-color:yellow"); } this.Items.Add(lists); } //this.DataSource = dt; //this.DataTextField = "name"; //this.DataValueField = "id"; //this.DataBind(); if (IsNullRow) this.Items.Insert(0, new ListItem("--请选择--", "")); } } /// <summary> /// 下拉框类型枚举(与存储过程中的表的顺序必须一一对应) /// </summary> public enum DropDownType { //流程 user, //文档类型 m_boothInfo, m_carmanage }
end
自定义控件:下拉框控件1.写存数过程---创建存储过程create proc BaseDataasselect id=htypeid,name=htypename from OA_HTypeselect id=Roleid,name=rolename from OA_TRolego---查找存储过程exec BaseData2.调用存储过程public static DataSet GetBaseData() { DBHelper db = new DBHelper(); DataSet ds = db.ExecuteDataSet("BaseData", null, CommandType.StoredProcedure); return ds; }3.修改配置<appSettings><add key="cachetime" value="0"/><add key="FCKeditor:BasePath" value="~/FCKeditor/"/><add key="FCKeditor:UserFilesPath" value="/web/UserFiles/"/></appSettings>4.下拉框类型枚举(与存储过程中的表的顺序必须一一对应)枚举里的类型自定义的public enum DropDownType { //会议类型HType,//发起人类型(角色) HRole }5.页面调用<cc1:MyDropDown ID="MyDropDown1" runat="server" M_DropDownType="HType"> </cc1:MyDropDown>6.后台调用 MyDropDown1.Bind();
0 0
- 自定义下拉控件dropdownlist,绑定数据更方便
- DropDownList 控件如何绑定数据
- DropDownList控件的数据绑定
- DropDownList控件的数据绑定
- asp.net DropdownList分组下拉树控件 动态绑定后台数据
- dropDownList 控件动态绑定数据和读取
- DropDownList控件的使用(数据绑定)
- DropDownList控件的使用(数据绑定)
- dropdownlist控件如何绑定动态数据
- DropDownList 控件 可编辑 查询 绑定数据
- DropDownList控件的数据绑定方式
- MVC下拉控件绑定数据
- DropDownList(下拉列表框)绑定数据的方式
- 对DropDownList、ComboBox下拉框进行数据绑定
- DropDownList控件绑定
- 绑定DropDownList控件
- DropDownList控件绑定数据库
- c#(winform)中自定义ListItem类方便ComboBox和ListBox添加项完全解决(DropDownList 和Combox 数据绑定的常用方法)
- 看懂SqlServer查询计划
- 运维人员需要有产品观
- 蓝桥杯-- 基础练习 十六进制转八进制(大数操作)
- context.getClass和getPackageName的区别
- 利用引用,对3个数按从大到小排列
- 自定义下拉控件dropdownlist,绑定数据更方便
- TP-link 无线路由器WDS设置方法图解_无线桥接设置 详细出处参考:http://www.jb51.net/softjc/39394.html
- 理解事件机制
- C#链表;单向链表
- struts2配置问题
- 如何给Winform 的Panel控件添加滚动条
- 别让用户发呆—设计中的防呆策略
- JSON基础示例
- HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等