動態生成gridview
首先爲了我們能比較好控制gridview樣式和位置,並且減輕服務器負擔
我們應該盡量把需要生成之 gridview先寫入對應aspx中,先設置好樣式並調整好效果后,再作動態生成工作。當然這個是指Columns以外的設置。
放一個空Columns 的gridview在前臺先(我們先假設這裡防止的gridview,ID 為gvwFun),爲了下面能創建一個比較完整的例子,
我這裡再創建一個 txtFun 讓gridview顯然不同值的傳入參數輸入點,
再作一個Button ID為btnQuery作爲觸發查詢動作的按鈕.
前期工作完畢后我們就開始編寫後臺代碼
因爲我描述能力有限,恩基本上就都在代碼的註釋中了,我已盡量註釋,若有問題,或者我有錯誤請盡量指出謝謝
//初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString.Count>0)
{
HidFunNo.Value = Request.QueryString["FunNo"].Trim();
txtFun.text = HidFunNo.Value ;
}
}
CreategvwFun(txtFun.text.trim());
}
//觸發gridview的數據改變的查詢按鈕事件
protected void btnQuery_Click(object sender, EventArgs e)
{
CreategvwFun(txtFun.text.trim());
}
//實際聲成動態GridView的函數
//通過FunNo,獲取需要增加的列,並填充到grid
protected void CreategvwFun(string strFunNo)
{
GridView gdview = gvwFunKPIList; //將我們前期在界面中創建的GridView通過ID獲取過來已便進行操作
gdview.Columns.Clear(); //清除現有Columns
gdview.AutoGenerateColumns = false;
gdview.DataKeyNames = new string[] { "TID" }; //設置ID
//創建使用TemplateField的字段
TemplateField temp_f = new TemplateField();
temp_f.ShowHeader = true;
//創建對應表頭
//Add_GridViewTemplate創建 “修改”“刪除”列的 動態控件生成類(動態生成 LinkButton)
temp_f.HeaderTemplate = new Add_GridViewLinkButton(DataControlRowType.Header, "<font>修改</font>", "","");
//創建對應被鑲嵌控件
temp_f.ItemTemplate = new Add_GridViewLinkButton(DataControlRowType.DataRow, "修改", "Link_edit", "TargetNo");
gdview.Columns.Add(temp_f);
temp_f = new TemplateField();
temp_f.ShowHeader = true;
temp_f.HeaderTemplate = new Add_GridViewLinkButton(DataControlRowType.Header, "<font>刪除</font>", &#
關於動態生成gridview相關(包含ITemplate運用實踐 添加CheckBox htmltable LinkButton)
本文介绍了如何在ASP.NET中动态生成GridView,并结合ITemplate实现CheckBox和LinkButton的添加,详细阐述了后端代码逻辑,包括数据绑定和事件处理,以实现动态表格的操作功能。
摘要由CSDN通过智能技术生成