protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { TemplateField TF = new TemplateField(); TF.HeaderTemplate = new GridViewTextTemplate(DataControlRowType.Header, "選擇", "Choose"); TF.ItemTemplate = new GridViewTextTemplate(DataControlRowType.DataRow, "GridViewCB", "GridViewCB"); TF.ItemStyle.HorizontalAlign = HorizontalAlign.Center; TF.ItemStyle.VerticalAlign = VerticalAlign.Middle; TF.ShowHeader = true; GridView1.Columns.Add(TF); } } public class GridViewTextTemplate : ITemplate { private DataControlRowType TemplateType; private string ColumnName; private string CId; public GridViewTextTemplate(DataControlRowType Type, string ColName, string controlId) { TemplateType = Type; ColumnName = ColName; CId = controlId; } public void InstantiateIn(System.Web.UI.Control container) { switch (TemplateType) { case DataControlRowType.Header: Label Lbl = new Label(); Lbl.ID = CId; Lbl.Text = ""+ColumnName+""; container.Controls.Add(Lbl); break; case DataControlRowType.DataRow: CheckBox myCheckBox = new CheckBox(); myCheckBox.ID = CId; // myCheckBox.DataBinding += new EventHandler(this.CheckBoxDataBinding); container.Controls.Add(myCheckBox); break; default: // Insert code to handle unexpected values. break; } } /* private void CheckBoxDataBinding(object sender, EventArgs e) { CheckBox myCheckBox = (CheckBox)sender; GridViewRow row = (GridViewRow)myCheckBox.NamingContainer; myCheckBox.Text = System.Web.UI.DataBinder.Eval(row.DataItem, ColumnName).ToString(); }*/ }
2014年8月17日 星期日
ASP.NET GridView Code-Behind TemplateField
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言