SheetListBox.cs
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:3k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Collections;
- using System.Web;
- using System.Web.UI;
- using System.Drawing;
- using System.ComponentModel;
- using System.Drawing.Design;
- [assembly:TagPrefix("OThinker.H3.WorkSheet","SheetControls")]
- namespace OThinker.H3.WorkSheet
- {
- /// <summary>
- /// SheetListBox 的摘要说明。
- /// </summary>
- [ToolboxBitmap(typeof(SheetListBox),"OThinker.H3.WorkSheet.SheetListBox.bmp")]
- [ToolboxData("<{0}:SheetListBox runat=server></{0}:SheetListBox>")]
- public class SheetListBox : System.Web.UI.WebControls.ListBox, ISheetControl
- {
- public SheetListBox()
- {
- this.SelectionMode = System.Web.UI.WebControls.ListSelectionMode.Single;
- }
- #region 类SheetListBox属性
- private string _DataField = null;
- [Bindable(true),Category("WorkSheet"),DefaultValue("")]
- [Editor(typeof(DataSelector),typeof(UITypeEditor))]
- public string DataField
- {
- get
- {
- return this._DataField;
- }
- set
- {
- this._DataField = value;
- }
- }
- #endregion
- #region ISheetControl 成员
- public virtual void LoadDataField(OThinker.H3.WorkSheet.SheetPage SheetPage)
- {
- if(this.DataField == null || this.DataField == "")
- {
- }
- else if(SheetPage.Enviroment.InstanceData[this.DataField] == null)
- {
- }
- else if(SheetPage.Enviroment.InstanceData[this.DataField].Visible == false)
- {
- }
- else
- {
- if(SheetPage.Enviroment.InstanceData[this.DataField].Value != null)
- {
- this.DataSource = (string[])SheetPage.Enviroment.InstanceData[this.DataField].Value;
- this.DataBind();
- }
- // this.Enabled = SheetPage.Enviroment.InstanceData[this.DataField].Editable;
- }
- }
- public virtual bool ValidateDataField(
- OThinker.H3.WorkSheet.SheetPage SheetPage,
- System.Collections.Generic.List<string> Errors)
- {
- return true;
- }
- public virtual void SaveDataField(OThinker.H3.WorkSheet.SheetPage SheetPage)
- {
- if(
- this.DataField != null &&
- this.DataField != "" &&
- SheetPage.Enviroment.InstanceData[this.DataField] != null &&
- SheetPage.Enviroment.InstanceData[this.DataField].Visible &&
- SheetPage.Enviroment.InstanceData[this.DataField].Editable)
- {
- string[] ListContent = new string[this.Items.Count];
- int i = 0;
- foreach(System.Web.UI.WebControls.ListItem li in this.Items)
- {
- ListContent[i] = li.Value;
- i++;
- }
- SheetPage.Enviroment.InstanceData[DataField].Value = ListContent;
- }
- }
- #endregion
- }
- }