(BY框架)生产通知单增加拓展列显示物料信息

该方案提出在生产通知单中通过增加拓展列展示销售订单的多个物料信息,支持折叠和展开功能,提供一键展开所有物料的按钮,并可以根据需要隐藏拓展列。通过数据库查询获取物料名称,前端展示时使用模板字段和Eval方法,后端则处理展开和折叠的服务器事件。当物料数据量小,展开可能造成冗余空间问题。
摘要由CSDN通过智能技术生成

需求:

生产通知单需要展现销售订单的物料

方案:

由于是含有多个物料,为了更好地呈现,可增加拓展列,可折叠和展开。增加一键展开物料,方便对比多项物料信息。对于不需要看到物料信息的人员,可以隐藏拓展列,隐藏展开按钮,默认折叠。

1、操作类,增加新属性物料,拼接源单所含的物料名称,并存入类集合中

foreach (Production ss in dataList)
            {
                ss.matInfo = GetmatName(ss.orderID);
            }
private string GetmatName(long OrderID)
        {
            string retVal = "";
            List<string> strLst = DB.Select<Entity.Se_saleOrderSub>()
                         .Where(x => x.PID == OrderID).ToList(a => (a.PdCNname));
            if (strLst != null && strLst.Count > 0)
            {
                foreach (string item in strLst)
                {
                    retVal += item + ",";
                }
            }
            if (retVal.Length > 0) retVal = retVal.Substring(0, retVal.Length - 1);
            return retVal;
        }

2、增加拓展列到指定列表中

前端:

<f:TemplateField ColumnID="expander" RenderAsRowExpander="true">
                            <ItemTemplate>
                                <div class="expander">
                                    <p>
                                        <strong>物料:</strong><%# Eval("matInfo") %>
                                    </p>
                                </div>
                            </ItemTemplate>
                        </f:TemplateField>

Eval:把一段字符串传递给JS解释器,由Javascript解释器将这段字符串解释成Javascript代码

3、增加一键展开、折叠扩展列按钮

<f:Button ID="btnCollapse" Text="全部折叠" runat="server" OnClick="btnCollapseRowExpanders_Click" Icon="SectionExpanded" />
<f:Button ID="btnExpand" Text="全部展开" runat="server" OnClick="btnExpandRowExpanders_Click" Icon="SectionCollapsed" />
protected void btnExpandRowExpanders_Click(object sender, EventArgs e)
{
Grid1.ExpandRowExpanders();
}

protected void btnCollapseRowExpanders_Click(object sender, EventArgs e)
{
Grid1.CollapseRowExpanders();
}

4、隐藏拓展列

protected void Button3_Click(object sender, EventArgs e)
{
GridColumn genderColumn = Grid1.FindColumn("expander");
genderColumn.Hidden = !genderColumn.Hidden;
}

结论:

扩展列能保证充足的空间展示详细的信息,但是如果扩展列中的数据量较小,全部展开冗余空间大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值