FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3210|回复: 3
打印 上一主题 下一主题

(求代码分享)grid 动态添加列 动态绑定数据

[复制链接]
跳转到指定楼层
楼主
发表于 2015-3-31 10:15:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有成功实现grid动态绑定列和数据的,求代码分享?
我目前的问题是 按钮点击之后要改变列的列头,无法更新。
我的方法是1、在Page_Init中更新列
代码是  
protected void Page_Init(object sender, EventArgs e)
    {
            InitGrid();
    }
protected void InitGrid()
    {
        string YearMonthValue = string.Format(tbxYear.Text + "-" + ddlMonth.SelectedValue);
        //根据年月获取 该月的日期对象
        List<WorkingCalendar_Model> ListWCM = WorkingCalendar_BLL.GetWCMListByYearAndMonth(YearMonthValue);
        if (ListWCM.Count > 0)
        {
            //移除所有列
             Grid1.Columns.Clear();
             Grid1.AllColumns.Clear();
            FineUI.BoundField bf;
            bf = new FineUI.BoundField();
            bf.DataField = "UserName";
            bf.DataFormatString = "{0}";
            bf.HeaderText = "姓名";
            bf.HtmlEncode = false;         
            bf.HtmlEncodeFormatString = false;
            Grid1.Columns.Add(bf);
            foreach (WorkingCalendar_Model wcm in ListWCM)
            {
                FineUI.BoundField bfnew;
                bfnew = new FineUI.BoundField();
                bfnew.DataField = DateTime.Parse(wcm.WorkDayTime.ToString()).ToString("yyyy-MM-dd");
                bfnew.DataFormatString = "{0}";
                //bfnew.HeaderText = wcm.WorkDayTime.Value.Day.ToString() + "号";
                bfnew.HeaderText = DateTime.Parse(wcm.WorkDayTime.ToString()).ToString("MM-dd");
                bfnew.HtmlEncode = false;
                bfnew.HtmlEncodeFormatString = false;
                Grid1.Columns.Add(bfnew);
            }
            FineUI.BoundField bfEnd;
            bfEnd = new FineUI.BoundField();
            bfEnd.DataField = "UserName";
            bfEnd.DataFormatString = "{0}";
            bfEnd.HeaderText = "姓名";
            bfEnd.HtmlEncode = false;
            bfEnd.HtmlEncodeFormatString = false;
            Grid1.Columns.Add(bfEnd);
            Grid1.DataKeyNames = new string[] { "UserName" };
            //Grid1.RefreshIFrame();
            // Grid1.UpdateTemplateFields();
            // PageContext.RegisterStartupScript(Grid1.GetRefreshIFrameReference());
        }
    }

2、接着 page_load内容如下
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            tbxYear.Text = DateTime.Now.Year.ToString();
            this.ddlMonth.SelectedValue = DateTime.Now.ToString("MM");
            string YearMonthValue = string.Format(tbxYear.Text + "-" + ddlMonth.SelectedValue);
            ddlOrgIDBind();
            Bind();
        }
    }

3、绑定数据 是Bind()

目前的问题是 点击选中月份 列标题不会动态更新。
求教啊 。。。。。。

沙发
发表于 2015-3-31 11:03:41 | 只看该作者
单纯改表头文字用extjs就可以了,
板凳
 楼主| 发表于 2015-3-31 11:06:43 | 只看该作者
shihahayue 发表于 2015-3-31 11:03
单纯改表头文字用extjs就可以了,

表头 是根据要绑定的数据动态 添加的。而且表头的列数也是动态变化的
地板
 楼主| 发表于 2015-4-1 15:50:16 | 只看该作者
有没有实际做过grid动态添加列的啊,帮忙提示下吧,最好带上代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-28 10:58 , Processed in 0.043660 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表