DataGrid 表格类

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();
            }

        }

    }



}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值