Analytics

2013年3月21日 星期四

[ASP.NET]使用 GridView.RowDataBond事件置換樣板欄位裡的控制項 (Use GridView.RowDataBound event replacement model in the field of controlled items)


問題
使用 GridView.RowDataBond事件置換樣板欄位裡的控制項



解決方法
if (e.Row.RowType == DataControlRowType.DataRow)
{
//第2欄的超連結
int i =2;
if (e.Row.Cells[i].Controls[1].GetType() == typeof(LinkButton))
{
if (e.Row.Cells[0].Text.Trim() == "Total")//置換行頭為total的欄位控制項
{
LinkButton lbtn = (LinkButton)e.Row.Cells[i].Controls[1];
Label lbtemp = new Label();
//控制項一定要給id,不然在底下移除時,會移錯控制項
lbtemp.ID = string.Format("lb{0}", DateTime.Now.ToString("yyyyMMddHHmmss"));
lbtemp.Text = lbtn.Text;
e.Row.Cells[i].Controls.Add(lbtemp);

e.Row.Cells[i].Controls.Remove(lbtn);//移除原本控制項
}
}
}

沒有留言:

熱門文章