整合重复代码 生成自定义的列(组件)整合重复代码 生成自定义的datagrid(组件)若要详

2016-01-29 12:44 7 1 收藏

整合重复代码 生成自定义的列(组件)整合重复代码 生成自定义的datagrid(组件)若要详,整合重复代码,生成自定义的列(组件)整合重复代码,生成自定义的datagrid(组件)若要详

【 tulaoshi.com - ASP.NET 】

描述代码/////////checkboxcolumn.cs////////////////using System;using System.Web;using System.Web.UI.WebControls; namespace MSDN{ /// /// CheckBoxColumn 的摘要说明。 /// public class CheckBoxColumn : DataGridColumn { private string m_allText; public CheckBoxColumn() { CheckBoxAllText="全选"; } public string CheckBoxAllText { get {return m_allText;} set {m_allText = value;} } public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) { base.InitializeCell (cell, columnIndex, itemType); if (itemType==ListItemType.Header) { CheckBox chk=new CheckBox(); Label l=new Label(); l.Text=CheckBoxAllText; chk.Attributes.Add("onclick","javascript:SelectAllCheckboxes(this);"); cell.Controls.Add(chk); cell.Controls.Add(l); } if (itemType==ListItemType.Item || itemType==ListItemType.AlternatingItem) { CheckBox chk=new CheckBox(); //chk.CheckedChanged +=new EventHandler(chk_CheckedChanged); chk.AutoPostBack=false; chk.Attributes.Add("onclick","javascript:SelectOneRow(this);"); cell.Controls.Add(chk); } } private void chk_CheckedChanged(object sender, EventArgs e) { //((DataGridItem)((CheckBox)sender).Parent.NamingContainer).ite } }}/////////////SuperDataGrid.cs///////////////using System;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Drawing;using System.Collections;using System.Text;namespace MSDN{ public class SuperDataGrid : System.Web.UI.WebControls.DataGrid { private int m_CreatePageTimes = 0; private Color m_mouseover=Color.Empty; private Color m_mouseout=Color.Empty; private static DataView m_dataview ; public SuperDataGrid():base() { AllowPaging = true; PageIndexChanged+=new DataGridPageChangedEventHandler(HyperDataGrid_PageIndexChanged); ItemCommand +=new DataGridCommandEventHandler(HyperDataGrid_ItemCommand); ItemCreated +=new DataGridItemEventHandler(HyperDataGrid_ItemCreated); ItemDataBound +=new DataGridItemEventHandler(HyperDataGrid_ItemDataBound); SortCommand +=new DataGridSortCommandEventHandler(HyperDataGrid_SortCommand); } public void SetCheckBoxClintScript() { Page.RegisterClientScriptBlock("SelectOneRow",RegisterScript(Color.Pink )); } string RegisterScript(Color color) { StringBuilder str=new StringBuilder(); str.Append(""); return str.ToString(); } //declare dataview public DataView m_DataView { get{return m_dataview;} set{m_dataview=value;} } public Color OnMouseOverColor { get{return m_mouseover;} set{m_mouseover=value;} } public Color OnMouseOutColor { get{return m_mouseout;} set{m_mouseout=value;} } public event EventHandler UpdateView;//fire databinding event public event EventHandler InsertView; private void OnUpdateView() { if (UpdateView != null) UpdateView(this, EventArgs.Empty); } private void OnInsertView() { if (InsertView != null) InsertView(this, EventArgs.Empty); } private void HyperDataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e) { DataGrid detGrid = (DataGrid) source; detGrid.CurrentPageIndex = e.NewPageIndex; m_CreatePageTimes=0; OnUpdateView(); } private void HyperDataGrid_ItemCommand(object source, DataGridCommandEventArgs e) { if (e.CommandName=="alpha") { ViewState["alpha"]=e.CommandArgument; m_CreatePageTimes=0; CurrentPageIndex=0; OnUpdateView(); } if (e.CommandName=="Cancle") { ShowFooter=false; } if (e.CommandName=="Insert") { OnInsertView(); ShowFooter=false; } } private void HyperDataGrid_ItemCreated(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType==ListItemType.Header) { //排序 foreach(TableCell c in e.Item.Cells) { if (c.Controls.Count >0 && c.Controls[0].GetType().ToString()=="System.Web.UI.WebControls.DataGridLinkButton") { if (((LinkButton)c.Controls[0]).Text==(string)ViewState["Sort"]) { Label l=new Label(); l.Font.Name="Webdings"; if ((string)ViewState["orderby"]=="asc") l.Text="5"; else l.Text="6"; c.Controls.Add(l); } } } } if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.

来源:http://www.tulaoshi.com/n/20160129/1487409.html

延伸阅读
PowerPoint借助自定义形状实现填充自定义图片   具体如何操作呢?以powerpoint2007为例,先在PPT页面中画一Tulaoshi.Com个形状,就像下面这个圆: 然后在形状填充里面选择图片或纹理填充: 插入自文件,选择想要的图片就OK了,就会出现下面的效果: 同样的效果还可以应用于艺术字(文本框不行)。如下: ...
标签: Web开发
一、基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。 3.标签库描述文件(Tag Library Desc...
标签: 电脑入门
  首先这个QQ空间代码只适合黄钻可以使用的,如果你想把QQ空间皮肤换成纯色就用这代码吧! 代码是这个     javascript:window.top.space_addItem(1,XXXXX,80,80,0,0,93); XXX的地方就是颜色参数 颜色参数可以参照下面的图片。 经过本站测试代码可以用! 使用方法:例如比如你要用纯红色皮肤 那代码...
标签: Delphi
  如果你要播放基本的系统声音,则要用适当的参数调用MessageBeep。如果你要用扬声器发声,就调用MessageBeep(-1);。 要播放一个WAV声音,你可以使用对象TmediaPlayer,但如果你要快速播放,最简单的方法是调用API函数sndPlaySound(在mmsystem单元中声明)。 例如:          &nb...
按钮交互是Authorware中常用的交互响应类型,但是仅使用系统提供的按钮未免有点单调。我们可以在Authorware中制作自己的图像按钮。 自定义按钮 本例简介:普通的按钮,在Authorware中一般有四个状态:正常、鼠标移过、鼠标按下和不可使用。 在Authorware中制作自己的图形按钮,就要事先准备好这四种状态的图片,当然也可以只准备一张图...

经验教程

92

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部