在没有点击编辑之前,模板列里面的EditItemTemplate里面的控件没有生成的。当点击编辑的时候,设置this.DataGrid1.EditItemIndex = ........,然后重新绑定Grid,页面PostBack,根据你指定的第i编辑。才会生成对应的第i的编辑模板里面的控件。而这个时候,对应的这个第i行的ItemTemplate里面的控件是不生成的。
代码
private void dgType_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.dgType.EditItemIndex = e.Item.ItemIndex;
this.BindGrid();
}
private void dgType_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.dgType.EditItemIndex = -1;
this.BindGrid();
}
//更新
private void dgType_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//.......
}
//删除
private void dgType_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//........
}
private void dgType_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果页面上使用了TemplateColumn的话e.Item.Cells[mintDesktopValue].Text只能取到""值,在BoundColumn中这样取值才会生效
//如想想取到值可以在页面添加个控件绑定值然后使用FindControl获得该值
//HtmlGenericControl desk = e.Item.Cells[mintDesktopValue].FindControl("spHid") as HtmlGenericControl;
}
}
{
this.dgType.EditItemIndex = e.Item.ItemIndex;
this.BindGrid();
}
private void dgType_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
this.dgType.EditItemIndex = -1;
this.BindGrid();
}
//更新
private void dgType_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//.......
}
//删除
private void dgType_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//........
}
private void dgType_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果页面上使用了TemplateColumn的话e.Item.Cells[mintDesktopValue].Text只能取到""值,在BoundColumn中这样取值才会生效
//如想想取到值可以在页面添加个控件绑定值然后使用FindControl获得该值
//HtmlGenericControl desk = e.Item.Cells[mintDesktopValue].FindControl("spHid") as HtmlGenericControl;
}
}

浙公网安备 33010602011771号