TemplateColumn TemColumn=new TemplateColumn();
TemColumn.ItemTemplate = new ColumnTemplate ();
TemColumn.HeaderText="学院";
DG_PNResult.Columns.Add(TemColumn); public class ColumnTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
CheckBox cb = new CheckBox ();
cb.ID="CHK_Del"; Label lab=new Label();
lab.Text="";
container.Controls.Add(lab);
}
}控件已经生成 怎么把记录的ID绑定上 然后点选CheckBox 实现删除功能
TemColumn.ItemTemplate = new ColumnTemplate ();
TemColumn.HeaderText="学院";
DG_PNResult.Columns.Add(TemColumn); public class ColumnTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
CheckBox cb = new CheckBox ();
cb.ID="CHK_Del"; Label lab=new Label();
lab.Text="";
container.Controls.Add(lab);
}
}控件已经生成 怎么把记录的ID绑定上 然后点选CheckBox 实现删除功能
{
private string strControlType,strControlID,strColumnName;
public ColumnTemplate (string ControlType,string ControlID,string ColumnName)
{
this.strControlType=ControlType;
this.strControlID=ControlID;
this.strColumnName=ColumnName;
}
public void InstantiateIn(Control container)
{
switch(strControlType.ToLower())
{
case "checkbox":
CheckBox checkbox=new CheckBox();
checkbox.ID=strControlID;
checkbox.DataBinding+=new System.EventHandler(OnDataBinding);
container.Controls.Add(checkbox);
break; case "label":
Label label=new Label();
label.ID=strControlID;
label.DataBinding+=new System.EventHandler(OnDataBinding);
container.Controls.Add(label);
break;
default:
break;
}
}
private void OnDataBinding(object sender,EventArgs e)
{
DataGridItem container;
switch(strControlType)
{
case "label":
Label label;
label=(Label)sender;
//控件发送绑定请求
container=(DataGridItem) label.NamingContainer;
label.Text=(DataBinder.Eval(container.DataItem,strColumnName)).ToString();
break;
case "checkbox":
CheckBox checkbox;
checkbox=(CheckBox)sender;
//控件发送绑定请求
container=(DataGridItem) checkbox.NamingContainer;
checkbox.Checked=(bool)((DataRowView)(container.DataItem))[strColumnName];
break;
default:
break;
}
}
}