全编辑WebGrid控件LrcGrid(5)—— 构造函数、变量和属性[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 masterlrc 的 blog

全编辑webgrid控件lrcgrid(5)—— 构造函数、变量和属性

lrcgrid从system.web.ui.webcontrols.table继承,实现inamingcontainer接口

元数据属性和构造函数:元数据声明了控件的标签和默认属性,构造函数为控件一些属性指定了默认值.

 [
 toolboxdata("<{0}:lrcgrid runat=server></{0}:lrcgrid>"),
 defaultproperty("selsql")
 ]
 public class lrcgrid : system.web.ui.webcontrols.table,inamingcontainer
 {
 
  public lrcgrid() : base()
  {
   font.name = "verdana";
   font.size = fontunit.point(8);
   backcolor = color.white;
   forecolor = color.black;
   borderstyle = borderstyle.outset;
   borderwidth = unit.parse("1px");
   pagerstyle = pagerstyle.nextprev;
   currentpageindex = 0;
   itemsperpage = 15;
   totalpages = -1;
   ispager = true;
  }
......

声明私有变量:

和分页相关的私有变量

  #region 和分页有关的私有变量
  // ***********************************************************************
  private string currentpagetext = "<b>第</b> {0} <b>页,共</b> {1}<b>页</b>";
  private string nopageselectedtext = "无选择页.";
  private string querypagecommandtext = "select * from " +
   "(select top {0} * from " +
   "(select top {1} * from ({2}) as t0 order by {3} {4}) as t1 " +
   "order by {3} {5}) as t2 " +
   "order by {3}";
  private string querycountcommandtext = "select count(*) from ({0}) as t0";
  // ***********************************************************************
  #endregion

和属性有关的私有变量:

  char[] chra = {','};
  char[] chrb = {'|'};
  //private dataset _ds;
  //private datatable _dt;
  private string tabn;
  private string _prikey;
  private string _editcol = "1";
  private string _colsstr = "";
  private string _colsstrcn = "";
  private string _fkcol = "";
  private bool _issort = true;
  private bool _isrowedit;
  private bool _istabchg = true;
  private bool _isdel;
  private bool _isadd;
  private string _conn;
  private color _titcolor;


控件属性,属性都有注释,不再细述:

  /// <summary>
  /// 外键指示
  /// </summary>
  [
  category("关键"),
  description("外键.格式:本表列名|外键列名|要显示的外键列名|外键表名,.....")
  ]
  public string fkcol
  {
   get{return _fkcol;}
   set{_fkcol = value;}
  }
  /// <summary>
  /// 是否显示删除功能
  /// </summary>
  [
  category("关键"),
  description("是否显示删除功能")
  ]
  public bool isdel
  {
   get{return _isdel;}
   set{_isdel = value;}
  }
  /// <summary>
  /// 是否显示添加功能
  /// </summary>

  [
  category("关键"),
  description("是否显示添加功能")
  ]
  public bool isadd
  {
   get{return _isadd;}
   set{_isadd = value;}
  }
  /// <summary>
  /// 公共属性:显示列名
  /// </summary>

  [
  category("关键"),
  description("显示列名")
  ]
  public string colsstrcn
  {
   get{return _colsstrcn;}
   set{_colsstrcn = value;}
  }
  /// <summary>
  /// 主表的表名
  /// </summary>

  [
  category("关键"),
  description("主表的表名")
  ]
  public string tabn
  {
   get{return tabn;}
   set{tabn = value;}
  }
  /// <summary>
  /// 主表的列名列表
  /// </summary>

  [
  category("关键"),
  description("主表的列名列表")
  ]
  public string colsstr
  {
   get{return _colsstr;}
   set{_colsstr = value;}
  }
  /// <summary>
  /// 是否用回车键跳转焦点
  /// </summary>

  [
  category("关键"),
  description("是否用回车键跳转焦点")
  ]
  public bool istabchg
  {
   get{return _istabchg;}
   set{_istabchg = value;}
  }
  /// <summary>
  /// 选择sql语句.注意列名不能用'*'
  /// </summary>

  [
  category("关键"),
  description("选择sql语句.注意列名不能用'*'")
  ]
  public string selsql
  {
   get{return (string)viewstate["lrcselsql"];}
   set{viewstate["lrcselsql"] = value;}
  }
  /// <summary>
  /// 主键列名,如有多个请用","隔开
  /// </summary>

  [
  category("关键"),
  description("主键列名,如有多个请用\",\"隔开")
  ]
  public string prikey
  {
   get{return _prikey;}
   set{_prikey = value;}
  }
  /// <summary>
  /// 标题行颜色
  /// </summary>

  [
  category("关键"),
  description("标题行颜色")
  ]
 
  public color titcolor
  {
   get{ return _titcolor;}
   set{ _titcolor = value;}
  }
  /// <summary>
  /// 要进行编辑的列,列名用","隔开,0为不编辑,1为全编辑
  /// </summary>

  [
  category("关键"),
  description("要进行编辑的列,列名用\",\"隔开,0为不编辑,1为全编辑")
  ]
  public string editcol
  {
   get{return _editcol;}
   set{_editcol = value;}
  }
  [
  browsable(false)
  ]
  public string updsql
  {
   get{return ((htmlinputhidden)(this.findcontrol("lrchid_updsql"))).value;}
  }
  /// <summary>
  /// 是否提供排序功能
  /// </summary>

  [
  category("关键"),
  description("是否提供排序功能")
  ]
  public bool issort
  {
   get{return _issort;}
   set{_issort = value;}
  }
  /// <summary>
  /// 可否编辑行
  /// </summary>

  [
  category("关键"),
  description("可否编辑行")
  ]
  public bool isrowedit
  {
   get{return _isrowedit;}
   set{_isrowedit = value;}
  }
  /// <summary>
  /// 要绑定室控件的数据集,可以在进行修改,
  /// 但是请与以上各属性对应
  /// </summary>

  [
  browsable(false)
  ]
  public dataset dbset
  {
   get
   {
    if(viewstate["lrcds"] != null)
    {
     dataset _dbset = new dataset();
     system.io.stringreader sr = new system.io.stringreader((string)viewstate["lrcds"]);
     _dbset.readxml(sr);
     return _dbset;
    }
    else
    {
     return null;
    }
   }

本文关键:全编辑WebGrid控件LrcGrid(5)—— 构造函数、变量和属性
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top