using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Web.UI.HtmlControls;
namespace Boyuanec.Utility
{
public class MyTemplate : ITemplate
{
private string strColumnName;
private DataControlRowType dcrtColumnType;
public MyTemplate( string strColumnName, DataControlRowType dcrtColumnType)
{
this.strColumnName = strColumnName;
this.dcrtColumnType = dcrtColumnType;
}
public void InstantiateIn(Control ctlContainer)
{
switch (dcrtColumnType)
{
case DataControlRowType.Header: //列标题
Literal ltr = new Literal();
ltr.Text = strColumnName;
ctlContainer.Controls.Add(ltr);
HtmlInputCheckBox chk = new HtmlInputCheckBox();
chk.ID = "chkError";
chk.Value = "";
chk.Attributes.Add( "onclick", "CheckAll('GVSF6',this)");
ctlContainer.Controls.Add(chk);
break;
case DataControlRowType.DataRow: //模版列内容
CheckBox chbError = new CheckBox();
chbError.ID = "chbError";
chbError.Text = "";
chbError.DataBinding += new EventHandler(cbItem_DataBinding);
ctlContainer.Controls.Add(chbError);
break;
}
}
private void cbItem_DataBinding( object sender, EventArgs e)
{
CheckBox cbx = (CheckBox)sender;
//取得GridViewRow(包含CheckBox控件)
GridViewRow row = (GridViewRow)cbx.NamingContainer;
//进行数据绑定
//cbx.Checked = Convert.ToBoolean(DataBinder.Eval(row.DataItem, "WrongFlag"));
}
}
}
调用
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Web.UI.HtmlControls;
namespace Boyuanec.Utility
{
public class MyTemplate : ITemplate
{
private string strColumnName;
private DataControlRowType dcrtColumnType;
public MyTemplate( string strColumnName, DataControlRowType dcrtColumnType)
{
this.strColumnName = strColumnName;
this.dcrtColumnType = dcrtColumnType;
}
public void InstantiateIn(Control ctlContainer)
{
switch (dcrtColumnType)
{
case DataControlRowType.Header: //列标题
Literal ltr = new Literal();
ltr.Text = strColumnName;
ctlContainer.Controls.Add(ltr);
HtmlInputCheckBox chk = new HtmlInputCheckBox();
chk.ID = "chkError";
chk.Value = "";
chk.Attributes.Add( "onclick", "CheckAll('GVSF6',this)");
ctlContainer.Controls.Add(chk);
break;
case DataControlRowType.DataRow: //模版列内容
CheckBox chbError = new CheckBox();
chbError.ID = "chbError";
chbError.Text = "";
chbError.DataBinding += new EventHandler(cbItem_DataBinding);
ctlContainer.Controls.Add(chbError);
break;
}
}
private void cbItem_DataBinding( object sender, EventArgs e)
{
CheckBox cbx = (CheckBox)sender;
//取得GridViewRow(包含CheckBox控件)
GridViewRow row = (GridViewRow)cbx.NamingContainer;
//进行数据绑定
//cbx.Checked = Convert.ToBoolean(DataBinder.Eval(row.DataItem, "WrongFlag"));
}
}
}
ExchangeDate();
GVSF6.Columns.Clear();
Hashtable ht = GetTestPoint();
BoundField[] BoundFields = GetStaticBoundFields();
BoundField[] BoundFields1 = GetDynamicBoundFields(ht);
if (BoundFields1.Length >0)
{
for ( int i = 0; i < BoundFields.Length; i++)
{
GVSF6.Columns.Add(BoundFields[i]);
}
for ( int j = 0; j < BoundFields1.Length; j++)
{
GVSF6.Columns.Add(BoundFields1[j]);
}
TemplateField templateField = new TemplateField();
templateField.HeaderTemplate = new MyTemplate( "全选", DataControlRowType.Header);
templateField.ItemTemplate = new MyTemplate("", DataControlRowType.DataRow);
GVSF6.Columns.Add(templateField);
try
{
DataSet ds = new BLLSF6().GetList(ddlCompany.SelectedValue, ddlPlant.SelectedValue, ddlLogicEquipment.SelectedValue, txtDateStart.Value, txtDateEnd.Value, Convert.ToInt32(ddlDataType.SelectedValue), GVSF6.PageSize, AspNetPager1.CurrentPageIndex, out recordCount);
this.GVSF6.DataSource = ds.Tables[0];
this.GVSF6.DataBind();
}
catch
{ }
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel3, GetType(), "msg", "alert('请选择测量项')", true);
}
GVSF6.Columns.Clear();
Hashtable ht = GetTestPoint();
BoundField[] BoundFields = GetStaticBoundFields();
BoundField[] BoundFields1 = GetDynamicBoundFields(ht);
if (BoundFields1.Length >0)
{
for ( int i = 0; i < BoundFields.Length; i++)
{
GVSF6.Columns.Add(BoundFields[i]);
}
for ( int j = 0; j < BoundFields1.Length; j++)
{
GVSF6.Columns.Add(BoundFields1[j]);
}
TemplateField templateField = new TemplateField();
templateField.HeaderTemplate = new MyTemplate( "全选", DataControlRowType.Header);
templateField.ItemTemplate = new MyTemplate("", DataControlRowType.DataRow);
GVSF6.Columns.Add(templateField);
try
{
DataSet ds = new BLLSF6().GetList(ddlCompany.SelectedValue, ddlPlant.SelectedValue, ddlLogicEquipment.SelectedValue, txtDateStart.Value, txtDateEnd.Value, Convert.ToInt32(ddlDataType.SelectedValue), GVSF6.PageSize, AspNetPager1.CurrentPageIndex, out recordCount);
this.GVSF6.DataSource = ds.Tables[0];
this.GVSF6.DataBind();
}
catch
{ }
}
else
{
ScriptManager.RegisterStartupScript(UpdatePanel3, GetType(), "msg", "alert('请选择测量项')", true);
}