msdn上有比较详细的说明
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWebUIWebControlsTemplateColumnClassItemTemplateTopic.htm
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWebUIWebControlsTemplateColumnClassItemTemplateTopic.htm
调试欢乐多
public class DeptColumn :TemplateColumn
{
public DeptColumn(string dept)
{
this.HeaderText = dept;
HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
HeaderStyle.Width = Unit.Percentage(9);
ItemStyle.CssClass = "Normal";
ItemTemplate = new IDeptColumn(dept);
}
} public class IDeptColumn:ITemplate
{ ReturnData _dbAccess = null;
private string _dept = string.Empty;
public IDeptColumn(string dept)
{
_dept = dept;
_dbAccess = new ReturnData();
} public void InstantiateIn(System.Web.UI.Control container)
{
DropDownList dl = new DropDownList();
dl.CssClass = "Normal";
dl.Width = Unit.Pixel(100);
dl.ID = "dl_" + _dept;
dl.DataBinding += new EventHandler(dl_OnDataBinding);
container.Controls.Add(dl);
}
private void dl_OnDataBinding(object sender,EventArgs e)
{
DropDownList dl = (DropDownList)sender;
DataGridItem container = (DataGridItem) dl.NamingContainer;
string qbrId = ((DataRowView)container.DataItem)["qbrId"].ToString();
if (qbrId.Length > 0)
{
dl.DataSource = _dbAccess.QBR_SurveyPlanUserGet(int.Parse(qbrId), _dept);
dl.DataTextField = "username";
dl.DataValueField = "userid";
}
} }
如果是的看这里
http://blog.csdn.net/langmafeng/archive/2004/11/04/167164.aspx
用这种方法,可以把一般你想要的控件都帮上去。时间,日期,数字框,动太下拉列表。