IE状态栏不能正常显示内容

by yangfz 2017.9.21 17:02
U9业务操作时,状态栏显示问题 [更多...]

常用经验总结-开发篇(珍藏版)

by RainBirda 2016.2.24 16:29
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。在U9一年多的业务开发中,遇到了不少问题,在小伙伴的帮助下,解决了这些问题,本文总结记录了部分问题的解决方案代码,平时都是珍藏的,良心实在不安,所以分享如下,以供参考,都是一些简单的代码,大神见笑。 命名规范 1、开发活动命名规范: 规则:模块_域用户名_问题号_说明。 例如:模块_u9baixf_20080801_转总账打印   2、代码注释命名规范 规则:日期 域用户名 问题号 说明。 例如:2014-11-18 hd 20080801 转总账打印     目录:   2、注册查找及删除按钮事件   3、前台删除子行数据   4、实体KEY赋值   5、打开模态窗体   6、取消按钮,父窗体不刷新   7、保存修改UIModel数据,并刷新页面   8、刷新数据   9、获取类的显示名称   10、列表显示本组织数据   11、单据复制后修改状态   12、在UI中手动删除数据   13、根据条件动态修改grid中指定行的某列的参照.   14、获取来源单据   15、判断当前是否是美瑞专版 取系统参数 CBO_Ver_MEIRUI   16、在IE状态栏显示提示信息   17、从数据库中查询枚举   18、获取全选数据,支持跨页选取   20、解决“参照列Org的(IDField)属性必须设置...”的问题   21、设置参照自定义过滤条件   22、获取基础设置参数值   23、获取属性的Value值注意事项   24、抛出异常定位某一行   25、回写单据时添加服务更新标志   26、保存列宽按钮无保存方案时灰化处理   27、获取实体字段和枚举对应的名称   28、Grid中参照列绑定组织列   29、列表中查询方案的查询条件赋默认值   30、修改列表中的数据后,翻页保留修改的数据   31、删除确认对话框   32、DTO查询跨页获取选中记录   33、列表双击导航到画面   34、根据控件名获取控件对象     2、注册查找及删除按钮事件   在AfterCreateChildControls()添加如下代码:   //注册删除 PDFormMessage.ShowDelConfirmDialog(this.Page, PDResource.GetDeleteConfirmInfo(), "", this.BtnDelete);   //注册查找 string formID = "be394e62-1497-4343-98e0-dfa3e24ed327"; PDFormMessage.ShowConfirmDialog(this.Page, formID, "580", "408", Title, wpFindID.ClientID, this.BtnFind);   3、前台删除子行数据 IUIRecord[] rules =  pack.GetChildRecords(this.CurrentModel.PackageSchema_PackSchemas_PackCodingRules); for (int i = rules.Length - 1; i >= 0; i--) { (rules[i] as PackageSchema_PackSchemas_PackCodingRulesRecord).Delete(); }   4、实体KEY赋值 packKitInfoDTO.Kit = kit.Key;   5、打开模态窗体 this.CurrentPart.ShowAtlasModalDialog(NoFreshButton, "UFIDA.U9.SCM.SD.IndividualDistributeUIModel.IndividualDistributeMainUIFormWebPart",ShipUIModelRes.IndividualDistribute, "890", "446", null, null, true, true, false);   //this.TaskId.ToString() 建立窗体的父子关系 string webPartID = "288a4409-ec6e-4c67-a69d-8ab741e8b325"; this.ShowModalDialog(webPartID, "窗体名称", "750", "350", this.TaskId.ToString(), null);   6、取消按钮,父窗体不刷新 this.BtnClose.IsClientClose = true;   this.CurrentPart.CloseDialog(false);   7、保存修改UIModel数据,并刷新页面 CommonAction.Save(model);   8、刷新画面数据 //重新加载单据画面 Action代码中调用 NavigateAction.MovePageAt(null, 单据ID);   //从数据库中重新加载当前索引位置的数据(必须绑定实体才行,若是DTO查询没有绑定实体则是不行) this.NavigateAction.Refresh(null);   //刷新DTO查询列表 this.Action.QueryAdjust();//该方法会回到第一页,如果只刷新当前页的数据可以使用下面方法:   /// <summary> /// 跳转到当前页 /// </summary> /// <param name="currentPageIndex"></param> private void GotoCurrentPage() {     IUFDataGrid dataGrid1 = (IUFDataGrid)this.CurrentPart.GetUFControlByName(this.CurrentPart.TopLevelContainer, "DataGrid1");       //获取当前页的索引     int currentPageIndex = dataGrid1.UIView.PageStrategy.CurrentPageIndex;       UFSoft.UBF.UI.WebControlAdapter.UFWebDataGridAdapter adapter = (UFSoft.UBF.UI.WebControlAdapter.UFWebDataGridAdapter)dataGrid1;       adapter.GridMakePage(new GridMakePageEventArgs(0, -1, enumPageAction.GotoPage, currentPageIndex)); }     9、获取单据类别的显示名称 /// <summary> /// 获取单据类别名称 /// </summary> /// <param name="docCategory">类名</param> /// <returns>单据类别名称</returns> private string GetDocCategoryName(string fullName) {     if (string.IsNullOrEmpty(fullName))     {         return string.Empty;      }      GetEntityDisplayNameProxy dispName = new GetEntityDisplayNameProxy();      dispName.EntityFullName = fullName;      string docCategoryName = dispName.Do();      return docCategoryName; }   10、列表显示本组织数据 在*ModelActionExtend.cs中CustomFilterOpath_Extend添加如下代码:   private string CustomFilterOpath_Extend(string filterOpath) {       //按组织过滤       filterOpath += "and Org = " + PDContext.Current.OrgID;       return filterOpath; }   11、单据复制后修改状态 在*UIModelActionExtend.cs文件的CopyClick_Extend实现复制的功能后进行二次赋值 示例代码如下: //复制 private void CopyClick_Extend(object sender, UIActionEventArgs e) {     //调用模版定义的默认实现方法.如需扩展,请直接在此编程.                             this.CopyClick_DefaultImpl(sender, e);       PackageSchemaRecord record = this.CurrentModel.PackageSchema.FocusedRecord;     if (record != null)     {         record.Status = (int)PackageSchemaStatusEnumData.Opened;     } }   12、在UI中手动删除数据 在*UIModelActionExtend.cs文件中的SaveClick_Extend方法中 将该记录标记为Delete状态,这样在保存时就会删除了,示例代码如下:   IUIRecord[] rules =                      pack.GetChildRecords(this.CurrentModel.PackageSchema_PackSchemas_PackCodingRules); for (int i = rules.Length - 1; i >= 0; i--) {      (rules[i] as PackageSchema_PackSchemas_PackCodingRulesRecord).Delete(); }   13、根据条件动态修改grid中指定行的某列的参照. 代码示例如下(利用callback): /// <summary> /// 动态改变物料参照 /// </summary> private void ItemOnCellFocusEnterCallBackEvents() { AssociationControl assoCGrid = new AssociationControl(); assoCGrid.SourceServerControl = this.DataGrid8; assoCGrid.SourceControl.EventName = "OnCellFocusEnter"; ((UFWebClientGridAdapter)assoCGrid.SourceControl).FireEventCols.Add("ItemInfo_ItemID");   ClientCallBackFrm ItemcallBackFrm = new ClientCallBackFrm(); ItemcallBackFrm.DoCustomerAction += new ClientCallBackFrm.ActionCustomer(ItemOnCellFocusEntercallBackFrm_DoCustomerAction); ItemcallBackFrm.ParameterControls.Add(this.DataGrid8); ItemcallBackFrm.Add(assoCGrid);   this.Controls.Add(ItemcallBackFrm); }   /// <summary> /// 动态改变物料参照 /// </summary> /// <param name="args"></param> /// <returns></returns> object ItemOnCellFocusEntercallBackFrm_DoCustomerAction(CustomerActionEventArgs args) { ArrayList list = (ArrayList)args.ArgsHash[UFWebClientGridAdapter.ALL_GRIDDATA_SelectedRows]; if (list.Count == 0) return args; int curIndex = int.Parse(list[0].ToString()); Hashtable hashT = (Hashtable)((ArrayList)args.ArgsHash[this.DataGrid8.ClientID])[curIndex]; UFWebClientGridAdapter grid = new UFWebClientGridAdapter(this.DataGrid8);   int transferFormType = Convert.ToInt32(hashT["TransferFormType"]); if (transferFormType == (int)UFIDA.U9.InvDoc.TransferForm.TransferFormTypeEnumData.PreTrans) { grid.ResetColumnEditorAttribute("ItemInfo_ItemID", UFWebClientRefControlAdapter.Attributes_RefType, "ed3b53e2-a25c-4c45-893b-8a0f8aaaabe0"); } else { grid.ResetColumnEditorAttribute("ItemInfo_ItemID", UFWebClientRefControlAdapter.Attributes_RefType, "82be9f01-b4b4-4766-b2c8-f1b079ef0c89"); } grid.Reset(); args.UpdateControls.Add(grid); //args.ArgsResult.Add("debugger;"+grid.ClientInstanceWithReSetRefType); return args; }   14、获取来源单据 1、在OnLoadData_Extend中获取来源单据的类型 int srcdoctype = Convert.ToInt16(this.CurrentPart.NameValues["SrcDocType"]); package.FieldSrcDocType.DefaultValue = srcdoctype;   2、在AfterUIModelBinding中 this.Model.DocPackage.FocusedRecord..SrcDocType 获取后台的来源单据类型   15、判断当前是否是美瑞专版 取系统参数 CBO_Ver_MEIRUI UFIDA.U9.Base.Profile.Profile.IsForMeirui();   select *  from  UBF_Assemble_AppComponents where component = 'UFIDA.U9.MFG.NEWSFC.SFCEquimentBListUI.WebPart.dll'   16、在IE状态栏显示提示信息 //查找的提示 PDResource 公共提示资源 this.ShowWindowStatus(PDResource.FindSucessInfo);   17、从数据库中查询枚举 select   x.EValue,               y.Name      from     UBF_Sys_ExtEnumValue x               inner join UBF_Sys_ExtEnumValue_Trl y on x.ID = y.ID      where    ExtEnumType in (               select  ID               from    UBF_Sys_ExtEnumType               where   Code = 'UFIDA.U9.PPR.RFQ.RFQStatusEnum')     18、获取全选数据,支持跨页选取 IList<IUIRecord> recs = this.CurrentModel.DSOLine.Cache.GetSelectRecord();   20、解决“参照列Org的(IDField)属性必须设置...”的问题 解决方案:给该列选择参照信息,代码列绑定,名称列绑定   21、设置参照自定义过滤条件 string strFilter = "OQL语句"; this.PayCarryFeeOrg289.CustomInParams = BaseAction.Symbol_AddCustomFilter + "=" + strFilter;   22、获取基础设置参数值      /// <summary>      /// 获取可用量占用的库存是否允许预留的参数值      /// </summary>      /// <returns></returns>      private bool IsAllowWhqohReserve()      {         UFIDA.U9.Base.Profile.Proxy.GetProfileValueProxy gpvp =             new UFIDA.U9.Base.Profile.Proxy.GetProfileValueProxy();         gpvp.ProfileCode = "INV_WhqohAllowReserve";//该参数对应的code         //gpvp.ProfileOrg = Convert.ToInt64(UFIDA.U9.Base.Context.LoginOrg.ID);         PVDTOData data = gpvp.Do();         if (data == null)             return false;         else             return Convert.ToBoolean(data.ProfileValue);       }   23、获取属性的Value值注意事项 使用GetValueOrDefault()避免报空引用错误。   24、异常定位到某一行 前台异常指定到某一行 IUIRecord CustomerLineRecord = cusline; //cusline是Record string fieldcusName = this.Model.QuickInputCustomer.FieldCustomerName.Name;//列名 this.Model.QuickInputCustomer.ErrorMessage.SetErrorMessage(ref CustomerLineRecord,fieldcusName, "客户和客户分类不能都为空,请录入。");   后台BE异常定位到某一行 //this指某行 throw new ApplicationExceptionBase("行号:" + this.DocLineNo + " 料号:" + this.ItemInfo.ItemCode + " 已进行版本数量控制,料品版本不能为空,请录入!");   25、回写单据时添加服务更新标志 soShipline.ActionSrc = UFIDA.U9.SM.Enums.SMActivityEnum.SOSRVUpd; soShipline.SOLine.ActionSrc = UFIDA.U9.SM.Enums.SMActivityEnum.SOSRVUpd; soShipline.SOLine.SO.ActionSrc = UFIDA.U9.SM.Enums.SMActivityEnum.SOSRVUpd;   26、保存列宽按钮无保存方案时灰化处理 设置保存列宽按钮的名字:btnSaveCurrentQueryCase   27、获取实体字段和枚举对应的名称 //UFIDA.U9.InvDoc.TransferOut.TransOutLine 为实体名 //TransOutOrg 、PurchaseOrder.EntityRes.BE_Name 为字段名 UFIDA.U9.InvDoc.TransferOut.TransOutLine.EntityRes.GetResource("TransOutOrg") PurchaseOrder.EntityRes.GetResource(PurchaseOrder.EntityRes.BE_Name); TransferTypeEnum.EnumRes.GetResource(this.TransOutLine.TransferOut.TransOutDocType.TransferType.Name)   28、Grid中参照列绑定组织列 (this.DataGrid1.Columns["TransOutWh"] as IUFFldReferenceColumn).IsMultiOrg = true; (this.DataGrid1.Columns["TransInWh"] as IUFFldReferenceColumn).IsMultiOrg = true;   UFIDA.U9.UI.PDHelper.ControlUtility.MultiOrgControlHelper.BindingToOrgForGrid("TransOutOrg", this.DataGrid1, "TransOutWh");   UFIDA.U9.UI.PDHelper.ControlUtility.MultiOrgControlHelper.BindingToOrgForGrid("TransInOrg", this.DataGrid1, "TransInWh");   29、列表中查询方案的查询条件赋默认值 在AfterGetQueryModel_Extend()方法中添加 QryService.CreateFilterValue(caseModel, "Org", PlatformContext.Current.OrgName, PlatformContext.Current.OrgCode, PlatformContext.Current.OrgID);   30、修改列表中的数据后,翻页保留修改的数据 /// <summary> /// 在AfterCreateChildControls中注册转订单数量及存储地点改变时postback事件 /// </summary> private void OnToTransOutQtyChanged_PostBack() {     AssociationControl assoCtrl = new AssociationControl();     assoCtrl.SourceServerControl = this.DataGrid1;     assoCtrl.SourceControl.EventName = "OnCellDataChanged";     IUFClientAssoGrid assGrid = (IUFClientAssoGrid)assoCtrl.SourceControl;     assGrid.FireEventCols.Add("ToTransOutQtyTU");     assGrid.FireEventCols.Add("ToTransOutQtyTBU");     assGrid.FireEventCols.Add("TransOutWh");     assGrid.FireEventCols.Add("TransInWh");     assGrid.FireEventCols.Add("TransOutBusDate");       CodeBlock cb = new CodeBlock();     UFWebClientGridAdapter gridAdapter = new UFWebClientGridAdapter(this.DataGrid1);     gridAdapter.IsPostBack = true;     gridAdapter.PostBackTag = this.DataGrid1.ID + "_" + assoCtrl.SourceControl.EventName;     cb.TargetControls.addControl(gridAdapter);     assoCtrl.addBlock(cb);       UFGrid gird = this.DataGrid1 as UFGrid;     GridCustomerPostBackDelegate actionDelegate =         new GridCustomerPostBackDelegate(ToTransOutQtyChanged_CustomerPostBackAction);     gird.GridCustomerPostBackEvent += actionDelegate; }   /// <summary> ///  触发转订单数量及存储地点改变时触发postback方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ToTransOutQtyChanged_CustomerPostBackAction(object sender, GridCustomerPostBackEventArgs e) {     if (e.PostTag.ToString().EndsWith("OnCellDataChanged"))     {         this.OnDataCollect(this); //当前事件先执行数据收集         this.IsDataBinding = true; //当前事件执行后会进行数据绑定         this.IsConsuming = false;     } }   31、删除确认对话框     public void AfterCreateChildControls()     { //添加删除确认对话框            PDFormMessage.ShowDelConfirmDialog(this.Page, "确认删除选择的记录?", "", this.BtnDelete);     }   32、DTO查询跨页获取选中记录 long[] recs = this.CurrentModel.QueryView.GetSelectedRecordIDs();   33、列表双击导航到画面 /// <summary> /// 列表双击 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnGridRowDbClick_Extend(object sender, UIActionEventArgs e) {     //调用模版定义的默认实现方法.如需扩展,请直接在此编程.                             this.OnGridRowDbClick_DefaultImpl(sender, e);       string dataID = string.Empty;     if (this.CurrentModel.RequestForQuotation.FocusedRecord != null)     {         dataID = this.CurrentModel.RequestForQuotation.FocusedRecord["MainID"].ToString();     }       string pageURI = "UFIDA.U9.SCM.VP.RequestForQuotationUI";       OnNavigatCard("Browse", dataID, pageURI); }   /// <summary> /// 导航到画面 /// </summary> /// <param name="type"></param> /// <param name="dataID"></param> /// <param name="formID"></param> private void OnNavigatCard(string type, string dataID, string pageURI) {     if (dataID == String.Empty && type == "Browse")     {         OnNew_Extend(this, new UIActionEventArgs());     }     else     {         System.Collections.Specialized.NameValueCollection nameValCol = new System.Collections.Specialized.NameValueCollection();         nameValCol.Add("PDPageStatus", type);         nameValCol.Add("ID", dataID);         this.CommonAction.CurrentPart.NavigatePage(pageURI, nameValCol);     } }   34、根据控件名获取控件对象(Action中) IUFDataGrid dataGrid1 = (IUFDataGrid)this.CurrentPart.GetUFControlByName(this.CurrentPart.TopLevelContainer, "DataGrid1");  

列表中表头链接根据列值打开不同的画面

by RainBirda 2016.1.15 09:45
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。根据需求,电商订单的已生单号链接需要判断已生单是出货单还是退回处理单,然后分别打开不同的画面,查找平台提供的代码,不能根据列表中某一列字段值判断打开不同的画面(或者没找到。。。),只能手动进行单号链接的处理。 步骤: 1、首先需要注册一下列表头点击事件; 2、设置具体哪一列能触发列表头的事件; 3、在事件中进行代码处理,这个事件应该可以判断是哪一列触发的,这里因为只有一列链接,所以也就没有再做判断。 具体代码如下: public void AfterCreateChildControls(){    AfterCreateChildControls_Qry_DefaultImpl();//BE列表自动产生的代码     //注册单号链接事件    ((UFWebDataGridAdapter)this.DataGrid1).GridHeadClicked += new GridHeadClicked(DataGridTitleClicked);} public void BeforeUIModelBinding(){    //设置显示单号链接    if (this.DataGrid1.Columns["FinishedDocNo"] != null)    {        this.DataGrid1.Columns["FinishedDocNo"].HasEvent = true;    }           } /// <summary>/// 设置单号链接/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void DataGridTitleClicked(object sender, GridHeadClickEventArgs e){    this.DataGrid1.CurrentPart.DataCollect();    this.DataGrid1.CurrentPart.IsDataBinding = true;    this.DataGrid1.CurrentPart.IsConsuming = false;     IUIView view = this.Action.CurrentModel.Views["ECO"];    IUIRecord record = view.FocusedRecord;     if (e.FieldID == "FinishedDocNo")    {        if (record != null)        {            string formID = string.Empty;            NameValueCollection param = new NameValueCollection();            param.Add("TargetOrganization", PlatformContext.Current.OrgID);            param.Add("ID", record["FinishedDocID"].ToString());            if (Convert.ToBoolean(record["IsReturn"]))            {                //退回处理                formID = "7dde4c9d-98a2-4bb1-bc42-bccd74e4e1ac";            }            else            {                //标准出货                formID = "824496cc-bb94-472c-950e-4adfaec2f2c6";                param.Add("SHIP_Type", "SM6010");            }            this.ShowModalDialog(formID, "", "992", "504", string.Empty, param, false);        }    } }

如何发布打印模板补丁?

by RainBirda 2015.7.14 11:31
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。   发布元数据   1、打开打印模型元数据管理  2、选中要导出元数据文件夹,右键       3、选择保存的位置         4、将生成的xml文件放到ReportMD目录,并签入到CC中       发布参照   1、打开打印参照的窗口       2、生成打印参照脚本       3、将生成的SQL脚本放到PostSqL目录中,并迁入CC     

2014新员工培训资料(开发)

by pkn 2015.1.19 09:14
新员工培训 [更多...]

U9新员工入职的相关准备

by tianshw 2014.12.29 11:06
您好,欢迎加入用友大家庭,以下是您入职后的相关准备工作: 领取电脑以后需要安装的相关软件: 推荐安装(目前U9同事都在用的): 注意1:公司的软件环境大多都是32位的。 注意2:软件安装包很多都是iso映像,所以需要一个虚拟光驱工具辅助安装,公司用DAEMON Tools Lite光盘映像安装工具 DAEMON Tools Lite光盘映像安装工具地址:开始--运行--输入\\ufnas1回车--\\ufnas1\cdserver\常用工具\虚拟光驱工具(找到以后安装第一个,第二个要激活码)   注意3:U9技术部的相关办公软件和办公资料一般都会放在\\U9info里,公司还有几个存放资料和软件的地方(\\ufnas1,\\192.168.8.231) 注意4:这些安装包都需要连入公司研发网才能下载(公司研发网就是你桌子上的红口,外网是蓝口,蓝口旁边是电话线接入口) 系统:Windows Server 2003(如果要安装win7的话最好是32位的,但win7跟公司的很多软件环境不兼容,为了避免以后开发时遇到这样或那样的问题,所以最好安这个) 系统安装包地址:这个要拨打36800热线电话转1找现场工程师给你重装系统(一般电脑硬件或软件上的毛病都归IT部管,找他们直接打36800转1) 编程环境:VS2005(一些旧项目会用到,最好装一个) VS2010(可以装其他版本的,这个同事用的较多) VS安装包地址:开始--运行--输入\\u9info回车--\\u9info\Software\2.Visual Studio 数据库环境:SQL Server 2008 R2(最好是这个,或者R2以上版本) SQL安装包地址:开始--运行--输入\\u9info回车--\\u9info\Software\5.RDBMS\MS SQLServer   源代码版本管理工具:ClearCase和ClearQuest(这两个版本管理工具比较老而且必须安装,碰到问题多咨询同事或百度) CC  CQ安装包地址:开始--运行--输入\\u9info回车--\\u9info\Software\3.Rational

关于协同事项无法设置动作权限的SQL脚本修改

by 张刚 2014.9.9 16:55
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。--1.备份相应信息 select * into UBF_Assemble_AppComponentsBack from UBF_Assemble_AppComponents   --2.修改 协同事项 表单的 所装配到的应用。 update UBF_Assemble_AppComponents set  application =  3071 where  componentid='842CB0FD-BE08-434D-8275-0688FAD65D90'       ---------------------------------- 姓名:张刚 部门:U9平台技术部 Q Q :175582488   发件人: 祁宏伟 [mailto:qihw@yonyou.com] 发送时间: 2014年8月18日 11:34收件人: '张刚'主题: SQL   --修改 表单的 所装配到的应用。 update UBF_Assemble_AppComponents set  application =  3071 where  componentid='842CB0FD-BE08-434D-8275-0688FAD65D90'   --查询过程 select * from UBF_MD_UIForm where Name ='CoopTaskEditUIForm' select * from UBF_MD_UIComponent where ID = 1001407090341181 select * from UBF_Assemble_AppComponents where componentid='842CB0FD-BE08-434D-8275-0688FAD65D90'     祁宏伟 U9平台技术部

测试-分组取值

by 贾小勇 2014.3.4 14:10
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。需求如下     select * From ( Select name,qty,loc, row_number() over (partition by name order by qty) as row_number  From 表 ) Where row_number = 1    

测试-根据阻塞信息找到对应的数据行

by 贾小勇 2014.3.3 09:59
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。 阻塞的资源为行锁 key (ae795e094f6a) ,表的objectid=1718297181. 命令:select object_name(1718297181) select a.ID,dtl.resource_description,dtl.request_status,request_type,request_mode from base_uom a inner join sys.dm_tran_locks as dtl on a.%%lockres%% = dtl.resource_description   根据阻塞信息找到对应数据行.docx (38.62 kb)

使用IE10浏览器访问U9

by 尹明君 2013.6.20 19:59
IE10 Portal [更多...]

在JMF新UI框架的Client工程中访问数学函数

by 尹明君 2013.5.14 14:04
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。在client工程中访问ScriptSharp提供的System.Math类,里面有做基本数学运算需要的基础函数。 基本定义如下:     public static class Math{ //数学常数public static double E;public static double LN10;public static double LN2;public static double LOG10E;public static double LOG2E;public static double PI;public static double SQRT1_2;public static double SQRT2;// 数学函数public static Number Abs(Number n);public static Number Acos(Number n);public static Number Asin(Number n);public static Number Atan(Number n);public static Number Atan2(Number x, Number y);public static Number Ceil(Number n);public static Number Cos(Number n);public static Number Exp(Number n);public static Number Floor(Number n);public static Number Log(Number n);public static Number Max(params Number[] numbers);public static Number Min(params Number[] numbers);public static Number Pow(Number baseNumber, Number exponent);public static Number Random();public static Number Round(Number n);public static Number Sin(Number n);public static Number Sqrt(Number n);public static Number Tan(Number n);public static int Truncate(double n);public static int Truncate(Number n);public static int Truncate(float n);}

Disable Admin Approval Mode[禁用管理员批准模式]

by 刘红军 2013.1.28 14:58
禁用windows的管理员批准模式 即:每一个加入管理员的成员都是超级管理员
省去了Run as Administrator...
[更多...]

谁动了我的C:

by 刘红军 2012.8.20 10:52
面对磁盘空间不足的提示,我很疑惑:明明有很大的空间啊!当我看到“C:空闲空间0字节”的时候,真的是丈二和尚啊,到底谁动了我的C:
[更多...]

记一次U9系统环境安装经历

by 刘红军 2012.8.10 14:31
记一次U9系统环境安装经历 [更多...]

慎用public 修饰符——从一个客开问题想到的

by tyg 2012.7.17 10:08
千方百计少用public,否则重构和修改不方便,可能有意外后果。 [更多...]

趋势退出密码--转自内网

by 祁宏伟 2012.7.12 16:13
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。 趋势退出密码 ( 2012-7-11 11:00:13)     HQofficescan   HQufida2009    --这个我用好使。   HQufida   三个其中一个

列表根据某个字段值区别显示行颜色

by daiping 2012.7.6 13:44
注:脚本执行有风险,对于客户正式环境请在研发指导下执行。在afterUIModelBinding中,循环列表记录,根据记录值不同,设置行的不同显示颜色:   UFGrid grid = this.DataGridPRItemSum as UFGrid;   grid.SetRowStyle(行号,背景色, 前景色);

U9工位附近打印机的安装

by 马杰 2012.6.1 09:36
打印机安装 [更多...]

isnull(字段1,字段2)和case when 字段1 is null then 字段2 else 字段1 end 的不同之处

by zhengyj 2012.5.8 14:56
Isnull (check_expression , replacement_value)

参数check_expression ,是待检查是否为空的表达式,参数replacement_value是带替换的指定值,如果参数check_expression为空则参数replacement_value进行填充,如果check_expression不为空,则返回表达式相应的返回值类型,需要注意到是参数check_expression和参数replacement_value的类型需要保持一致,否则要进行相应的转换
[更多...]

祁宏伟- 临时记录

by 祁宏伟 2011.12.7 09:55
祁宏伟 临时 记录 [更多...]

RecentComments

评论 RSS

Statistics

989 篇文章
0 个单页
538208 条评论
11 次评分
302653 次访问
访问统计开始于 2019年9月14日
平均日访问 8179 次
当前 118 人在线