ASPxGridView 动态模板列

本文介绍了一个基于ASPxGridView的自定义编辑模板实现方法,通过EdiFormTemplate类为每个编辑行创建动态的Tab页及输入控件,并保存原始数据以支持修改原因的追踪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.cs

EdiFormTemplate template = new EdiFormTemplate();

    protected void Page_Load(object sender, EventArgs e)
    {

        InputByBatchIndexList.Templates.EditForm = template;
        template.Grid = InputByBatchIndexList;

    }

 

 #region EdiFormTemplate
    public class EdiFormTemplate : ITemplate
    {
        private ASPxGridView _gridView;

        public ASPxGridView Grid
        {
            get
            {
                return _gridView;
            }

            set
            {
                _gridView = value;
            }
        }



        public EdiFormTemplate()
        {

        }

        public void InstantiateIn(Control container)
        {

            int index = (container as GridViewEditFormTemplateContainer).VisibleIndex;
            string rowAndCol = string.Empty;
            bool isFirst = false;
            string oldValue = string.Empty;
            ASPxPageControl pc = new ASPxPageControl();
            pc.ID = "ASPxPageControl1";

            if (HttpContext.Current.Session["dt_DynamicListByItem"] != null)
            {
                DataTable dt_DynamicList = (DataTable)HttpContext.Current.Session["dt_DynamicListByItem"];

                int i = 0;
                foreach (DataColumn dc in dt_DynamicList.Columns)
                {
                    if (i > 4)
                    {
                        //绑定列的字段
                        pc.TabPages.Add(dc.ColumnName.ToString());
                    }
                    i++;
                }
                int j = 0;
                foreach (DataColumn dc in dt_DynamicList.Columns)
                {
                    if (j > 4)
                    {
                        //绑定数据
                        ASPxLabel lab1 = new ASPxLabel();

                        lab1.Text = dc.ColumnName.ToString() + ":";
                        pc.TabPages[j - 5].Controls.Add(lab1);

                        HiddenField hf = new HiddenField();
                        TextBox catTxt = new TextBox();
                        catTxt.ID = "ASPxTextBox" + (j - 4).ToString();
                        hf.ID = "HiddenField" + (j - 4).ToString();
                        if (!_gridView.IsNewRowEditing)
                        {
                            catTxt.Text = _gridView.GetRowValues(index, dc.ColumnName.ToString()).ToString();
                            rowAndCol = index.ToString() + "," + (j).ToString();
                            oldValue = catTxt.Text;
                            InputByItems_TopLims_InPutByItems_Index indexpage = new InputByItems_TopLims_InPutByItems_Index();
                            hf.Value = indexpage.GetResultID(index, j);

                            if (catTxt.Text != "")
                            {
                                isFirst = true;
                            }
                            catTxt.Attributes.Add("onchange", "ModiReasonClick('" + rowAndCol + "','" + isFirst + "','" + oldValue + "')");

                        }
                        pc.TabPages[j - 5].Controls.Add(catTxt);
                        pc.TabPages[j - 5].Controls.Add(hf);
                    }
                    j++;
                }
            }
            container.Controls.Add(pc);

            ASPxGridViewTemplateReplacement upd = new ASPxGridViewTemplateReplacement();
            upd.ReplacementType = GridViewTemplateReplacementType.EditFormUpdateButton;
            upd.ID = "Update";
            container.Controls.Add(upd);

            ASPxGridViewTemplateReplacement can = new ASPxGridViewTemplateReplacement();
            can.ReplacementType = GridViewTemplateReplacementType.EditFormCancelButton;
            can.ID = "Cancel";
            container.Controls.Add(can);
        }

    }
    #endregion

内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力和路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境和多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划和多目标优化算法感兴趣的科研人员、工程师和研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率和安全性;③解决动态环境变化、实时路径调整和复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标和动态环境因素,支持后续算法升级与功能扩展。通过系统实现和仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解和实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值