using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace my
...{
/**//// <summary>
/// MyGrid 的摘要说明。
/// </summary>
public class MyGrid
...{
public MyGrid()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static DataGrid GetGrid()
...{
DataGrid gd=new DataGrid();
gd.BorderColor=ColorTranslator.FromHtml("#CC9966");
//Color.Blue;//."#CC9966";
gd.BorderColor=ColorTranslator.FromHtml("#CC9966");
//gd.BorderStyle=None;
gd.BorderStyle=BorderStyle.None;
gd.BorderWidth=1;
gd.BackColor=Color.White;
gd.CellPadding=3;
gd.Style["Width"]="100%";
//gd.Width=500;
gd.HeaderStyle.CssClass="HeadStyle";
gd.ItemStyle.CssClass="ItemStyle";
gd.AlternatingItemStyle.CssClass="AtemStyle";
gd.SelectedItemStyle.CssClass="SeleStyle";
gd.FooterStyle.CssClass="FootStyle";
gd.PagerStyle.CssClass="PageStyle";
return gd;
}
/**//// <summary>
/// 动态加载数据列,colname 数据库列的字段;DataGrid 其中 str:字段名
/// _id:控件的 id
/// _str:控件绑定的字段值,如果为空 显示 表格的序号
/// </summary>
public class myColumn : ITemplate 
...{
private string _id;
private string _str;
public myColumn(string id,string str)
...{
_id=id;
_str=str;
}
public void InstantiateIn(Control container) 
...{ 
/**//*Label l=new Label();
l.ID=_id;
//l.Text=_str;
l.DataBinding += new EventHandler(this.myBind);
container.Controls.Add(l);
*/
LiteralControl l = new LiteralControl();
l.DataBinding += new EventHandler(this.myBind);
container.Controls.Add(l);
}
public void myBind(object sender,EventArgs e)
...{
/**//*Label l=(Label)sender;
l.Text=sender.ToString();
*/
LiteralControl l = (LiteralControl)sender;
l.ID=_id;
//将控件转化成 DataGridItem
DataGridItem container = (DataGridItem)l.NamingContainer;
if(_str!="")
l.Text = ((DataRowView)container.DataItem)[_str].ToString();//绑定 DataGrid 数据字段
else
l.Text=(container.DataSetIndex+1).ToString();//显示 表格的 序号
}
}
public class myCheck:ITemplate
...{
private string _id;
private string _val;
public myCheck(string id,string val)
...{
this._id=id;
this._val=val;
}
public void InstantiateIn(Control container)
...{
CheckBox ck=new CheckBox();
ck.DataBinding+=new EventHandler(this.BindData);
container.Controls.Add(ck);
}
public void BindData(object sender,EventArgs e)
...{
CheckBox ck=(CheckBox)sender;
DataGridItem conrs=(DataGridItem)ck.NamingContainer;
//ck.Text=((DataRowView)conrs.DataItem)[_val].ToString();
ck.ID=_id;
//ck.Attributes.Add("onclick","myck(this);");
}
}
/**//// <summary>
/// 动态加载数据列,colname 数据库列的字段;DataGrid 其中 str:字段名
/// 绑定的是一个 TextBox 控件
/// </summary>
public class GenericItem : ITemplate 
...{
private string column;
public GenericItem(string column) 
...{
this.column = column;
}
public void InstantiateIn(Control container) 
...{
TextBox txt = new TextBox();
txt.DataBinding += new EventHandler(this.BindData);
container.Controls.Add(txt);
}
public void BindData(object sender, EventArgs e) 
...{
TextBox txt = (TextBox)sender;
DataGridItem container = (DataGridItem)txt.NamingContainer;
txt.Text = ((DataRowView)container.DataItem)[column].ToString();
}
} 

/**//// <summary>
/// 动态加载数据列,colname 数据库列的字段;
/// 应用到 vs 2005 中的 dataview 中
/// </summary>
public class MyTemplate:ITemplate
...{
private string colname;
public MyTemplate(string colname)
...{
this.colname = colname;
}
public void InstantiateIn(Control container)
...{
LiteralControl l = new LiteralControl();
l.DataBinding += new EventHandler(this.OnDataBinding);
container.Controls.Add(l);
}
public void OnDataBinding(object sender, EventArgs e)
...{
LiteralControl l = (LiteralControl)sender;
//GridViewRow container = (GridViewRow)l.NamingContainer;
//l.Text = ((DataRowView)container.DataItem)[colname].ToString();
}
}
}

}
666

被折叠的 条评论
为什么被折叠?



