【004】客开参照多选
侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计收到 2 条评论

【004】客开参照多选

秋驰雪隙
2025-04-07 / 0 评论 / 4 阅读 / 正在检测是否收录...

将参照设置为多选参照

839fecf0812f491fafe38dfa900a7e6b.png

在ConfirmButton_Click_Extend函数中判断并实现多选返回

private void ConfirmButton_Click_Extend(object sender, EventArgs  e)
{
    //调用模版提供的默认实现.--默认实现可能会调用相应的Action.

    string script = "";
    string returnXml = GetReturnXML();

    if (string.IsNullOrEmpty(returnXml))
    {
        script = "<script language=\"javascript\">window.close();</script>";
        AtlasHelper.RegisterAtlasStartupScript((Control)TopLevelContainer, this.GetType(), "ReferenceReturn", script, false);
        return;
    }

    string xml = UFIDA.U9.UI.Commands.CommandHelper.EscapeHTML(returnXml); // 编码
    script = string.Format("<script language=\"javascript\">window.returnValue=\"{0}\"; window.close(); </script>", xml);
    AtlasHelper.RegisterAtlasStartupScript((Control)TopLevelContainer, this.GetType(), "ReferenceReturn", script, false);

    ConfirmButton_Click_DefaultImpl(sender,e);
}

private string GetReturnXML()
{
    IUIView view = this.Model.cRef;
    StringBuilder returnXml = new StringBuilder("<ReferenceReturns>");
    List<string> ids = new List<string>();
    List<string> codes = new List<string>();
    List<string> names = new List<string>();

    //从缓存中读取选中的记录
    IList<IUIRecord> selRecordList = view.Cache.GetSelectRecord();
    if (selRecordList != null && selRecordList.Count > 0)
    {
        foreach (cRefRecord record in selRecordList)
        {
            ids.Add(record["ID"].ToString());
            codes.Add(record["Code"].ToString());
            names.Add(record["Name"].ToString());
        }
    }
    else
    {
        foreach (cRefRecord record in view.SelectRecords)
        {
            ids.Add(record["ID"].ToString());
            codes.Add(record["Code"].ToString());
            names.Add(record["Name"].ToString());
        }
    }

    returnXml.Append("<ReferenceReturn>");
    returnXml.AppendFormat("<ReturnField name=\"ID\" value=\"{0}\"/>", string.Join(",", ids));//
    returnXml.AppendFormat("<ReturnField name=\"Code\" value=\"{0}\"/>", string.Join(",", codes));//Code集合
    returnXml.AppendFormat("<ReturnField name=\"Name\" value=\"{0}\"/>", string.Join(",", names));//name集合
    
    //G类档案,多组织ID转换=======
    returnXml.AppendFormat("<ReturnField name=\"{0}\" value=\"Code\"/>", UFIDA.U9.UI.PDHelper.Commands.ReferenceMultiOrgInitComplete.MultiRefIDFlag);
    //=======end===========
    returnXml.Append("</ReferenceReturn>");
    returnXml.Append("</ReferenceReturns>");

    return returnXml.ToString();
}

启用U9系统参照的多选

【017】启用U9系统参照的多选
0

评论 (0)

取消