日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动态添加模板列及保持页面状态

發布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态添加模板列及保持页面状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?
前臺

HTML code
<form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> <EmptyDataTemplate> <asp:Label ID="Label1" runat="server" Text="沒有數據!"></asp:Label> </EmptyDataTemplate> </asp:GridView> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> </form>


后臺

C# code
protected void Page_Init(object sender, EventArgs e) { Dictionary<string, string> columnsInfo = new Dictionary<string, string>(); columnsInfo.Add("Number", "編號"); columnsInfo.Add("Code", "編碼"); columnsInfo.Add("Name", "名稱"); foreach (string nameKey in columnsInfo.Keys) { TemplateField customTemp = new TemplateField(); customTemp.HeaderText = columnsInfo[nameKey]; GridViewCustomColumns gcc = new GridViewCustomColumns(nameKey); customTemp.ItemTemplate = gcc; GridView1.Columns.Add(customTemp); } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int id = 0; Dictionary<string, string> data = new Dictionary<string, string>(); data.Add("D0001", "公司1"); data.Add("D0002", "公司2"); data.Add("D0003", "公司3"); data.Add("D0004", "公司4"); DataTable Dt = new DataTable(); DataRow dr; Dt.Columns.Add("Number", typeof(string)); Dt.Columns.Add("Code", typeof(string)); Dt.Columns.Add("Name", typeof(string)); foreach (string skey in data.Keys) { dr = Dt.NewRow(); dr[0] = id.ToString(); dr[1] = skey; dr[2] = data[skey]; Dt.Rows.Add(dr); id++; } this.GridView1.DataSource = Dt; this.GridView1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { }



類GridViewCustomColumns

C# code
public class GridViewCustomColumns : ITemplate { string s_ColumnsName; public GridViewCustomColumns(string strName) { s_ColumnsName = strName; } void ITemplate.InstantiateIn(Control container) { Label lableName = new Label(); lableName.ID = s_ColumnsName; lableName.DataBinding += new EventHandler(lableName_DataBinding); container.Controls.Add(lableName); } void lableName_DataBinding(object sender, EventArgs e) { Label lable = (Label)sender; GridViewRow container = (GridViewRow)lable.NamingContainer; DataRowView dl = (DataRowView)container.DataItem; lable.Text = dl[lable.ID].ToString(); } }

?

轉載于:https://www.cnblogs.com/pchgo/archive/2010/01/19/1651455.html

總結

以上是生活随笔為你收集整理的动态添加模板列及保持页面状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。