FineUI 官方论坛

标题: 动态添加模板列的问题 [打印本页]

作者: goldentime    时间: 2015-4-27 10:51
标题: 动态添加模板列的问题
.ASPX代码如下
  1. <body>
  2.     <form id="form1" runat="server">
  3.     <f:PageManager ID="PageManager1" runat="server">
  4.     </f:PageManager>
  5.     <f:Grid ID="gdList" runat="server" Title="Grid" >
  6.     </f:Grid>
  7.     </form>
  8. </body>
复制代码
.ASPX.CS代码如下
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;

  8. namespace FineUITest.BaseClass
  9. {
  10.     public partial class VouchForm : System.Web.UI.Page
  11.     {
  12.         WMSService.TaiMeiService_WMSClient WMSClient = new WMSService.TaiMeiService_WMSClient();

  13.         protected void Page_Load(object sender, EventArgs e)
  14.         {
  15.             if (!IsPostBack)
  16.             {
  17.                 FineUIPro.TemplateField tf = new FineUIPro.TemplateField();
  18.                 tf.Width = Unit.Pixel(120);
  19.                 tf.HeaderText = "发货单号";
  20.                 tf.ItemTemplate = new App_Code.UserControls.GenderTemplate();
  21.                 gdList.Columns.Add(tf);
  22.                 ListGridView_DataBind();
  23.             }
  24.         }

  25.         private void ListGridView_DataBind()
  26.         {
  27.             #region 构造结果集结构
  28.             DataTable dtResult = new DataTable();
  29.             dtResult.Columns.Add("cDPCode");
  30.             #endregion
  31.             #region 构造结果集内容
  32.             string[] rowVals = null;
  33.             rowVals = new string[] { "DP150324058" }; dtResult.Rows.Add(rowVals);
  34.             rowVals = new string[] { "DP150324057" }; dtResult.Rows.Add(rowVals);
  35.             rowVals = new string[] { "DP150324056" }; dtResult.Rows.Add(rowVals);
  36.             rowVals = new string[] { "DP150324055" }; dtResult.Rows.Add(rowVals);
  37.             rowVals = new string[] { "DP150324054" }; dtResult.Rows.Add(rowVals);
  38.             rowVals = new string[] { "DP150324053" }; dtResult.Rows.Add(rowVals);
  39.             rowVals = new string[] { "DP150324052" }; dtResult.Rows.Add(rowVals);
  40.             rowVals = new string[] { "DP150324051" }; dtResult.Rows.Add(rowVals);
  41.             rowVals = new string[] { "DP150324050" }; dtResult.Rows.Add(rowVals);
  42.             #endregion
  43.             gdList.DataSource = dtResult;
  44.             gdList.DataBind();
  45.         }
  46.     }
  47. }
复制代码
GenderTemplate.cs代码如下
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Web;
  4. using System.Web.UI;
  5. using System.Web.UI.WebControls;
  6. using System.Text;
  7. using System.Data;
  8. using System.IO;
  9. using AspNet = System.Web.UI.WebControls;

  10. namespace FineUITest.App_Code.UserControls
  11. {
  12.     public class GenderTemplate : ITemplate
  13.     {
  14.         public void InstantiateIn(System.Web.UI.Control container)
  15.         {
  16.             AspNet.Label labGender = new AspNet.Label();
  17.             labGender.ID = "cDPCodeItem";
  18.             labGender.DataBinding += new EventHandler(labGender_DataBinding);
  19.             container.Controls.Add(labGender);
  20.         }

  21.         private void labGender_DataBinding(object sender, EventArgs e)
  22.         {
  23.             AspNet.Label labGender = (AspNet.Label)sender;
  24.             IDataItemContainer dataItemContainer = (IDataItemContainer)labGender.NamingContainer;
  25.             string gender = ((DataRowView)dataItemContainer.DataItem)["cDPCode"].ToString().Trim();
  26.             labGender.Text = gender;
  27.         }
  28.     }
  29. }
复制代码




作者: goldentime    时间: 2015-4-27 10:52
为什么会变成undefine呢?
作者: sanshi    时间: 2015-4-27 12:40
先看下常见问题:http://fineui.com/bbs/forum.php?mod=viewthread&tid=655
作者: DiabloX    时间: 2015-4-29 15:03
已经根据第六点解决问题




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4