二开指导.移动端(PAD).通过标签点击控制界面内容的显示与隐藏

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开指导.移动端(PAD).通过标签点击控制界面内容的显示与隐藏

1.   在AfterBindData方法里记录流式布局的默认高度,用于动态调整高度


2.   根据isShowDetail字段显示或者隐藏详细信息,移动列表赋值必须用格式化器

3.   每次点击标签,对isShowDetail取反,并更新标签内容


元数据

 

隐藏详细信息效果

  

显示详细信息效果

  

示例代码

protected int rowIndex = 0;//行索引,只有一行数据的时候,一直为0
protected readonly MobileListFormaterManager _editFormaterManager = new MobileListFormaterManager();//格式化器管理器,移动列表赋值必须用它
protected int entryRowHeight;//行高(包括详细信息的高度)
protected int detailHeight;//详细信息高
protected bool isShowDetail = false;//显示详细信息
 
/// <summary>
/// 绑定数据及控件状态
/// </summary>
/// <param name="e"></param>
public override void AfterBindData(EventArgs e)
{
    //获取默认高度
    entryRowHeight = Convert.ToInt32(this.View.GetControl("FFlowLayout_EntryRow").ControlAppearance.Height.GetString(this.Context.UserLocale.LCID));
    detailHeight = Convert.ToInt32(this.View.GetControl("FFlowLayout_Detail").ControlAppearance.Height.GetString(this.Context.UserLocale.LCID));
 
    //显示或者隐藏详细
    ShowOrHideDetail();
 
    base.AfterBindData(e);
}
 
/// <summary>
/// 显示或者隐藏详细信息
/// </summary>
protected virtual void ShowOrHideDetail()
{
    if (isShowDetail)//显示详细信息
    {
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FFlowLayout_EntryRow", rowIndex, entryRowHeight, "Height");
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FFlowLayout_Detail", rowIndex, detailHeight, "Height");
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FLable_Detail", rowIndex, "<<" + detail);//<<详细信息
    }
    else//隐藏详细信息
    {
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FFlowLayout_EntryRow", rowIndex, entryRowHeight - detailHeight, "Height");//高度减去详细信息的高度
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FFlowLayout_Detail", rowIndex, 0, "Height");//详细信息的高度设置成0
        CtrlUtils.SetListControlProperty(_editFormaterManager, "FLable_Detail", rowIndex, detail + ">>");//详细信息>>
    }
    this.View.GetControl<MobileListViewControl>("FMobileProxyEntryEntity").setFormat(_editFormaterManager);
}
 
/// <summary>
/// 标签点击
/// </summary>
/// <param name="e"></param>
public override void LabelClick(LabelClickEventArgs e)
{
    switch (e.Key.ToUpper())
    {
        case "FLABLE_DETAIL"://详细信息
            isShowDetail = !isShowDetail;
            ShowOrHideDetail();
            break;
        default:
            break;
     }
}


二开指导.移动端(PAD).通过标签点击控制界面内容的显示与隐藏

1. 在AfterBindData方法里记录流式布局的默认高度,用于动态调整高度2. 根据isShowDetail字段显示或者隐藏详细信息,移动列表赋值必...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息