1.if (常量 运算符 变量) 的写法好还是不好
好:对于String类型来说,使用if(常量.equals(变量))可以防止一些空指针错误;
所以java和C#中对于String这种通过函数来比较的的Object类型个人觉得还是使用常量在前变量在后好一点
不好:代码可读性不好,
2.判断返回的集合是否为空
集合.size()>0,不要使用==null
3.trycatch和if
在我们的开发中,有很多无法预知的异常,if条件不能包含所有条件
判断条件里,由于数据的原因,你无法得知会不会存在异常,建议将代码写到try_catch里
4.正则表达式的使用
遇到字符串的检查,如电话号码、邮箱、网址、身份证、密码等级校验的时候运用正则表达式
5.c#的转义符:\\与@
\只转一个,所以\\就是第一个为转义符,第二个为用的字符,@为整个字符串中的\都当字符处理
6.MES Svr端提交一个sql事务:
GenericServiceProxy.getTxDataSourceManager().commitTransaction();
7.BPEL中Null对象的判断:
isNullDocument('newMessage') = 'false'
8.OIC客户端Grid控件的AutoSize写法
grdGrade.DisplayLayout.Bands[0].PerformAutoResizeColumns(true, PerformAutoSizeType.VisibleRows);
9.OIC客户端Grid控件默认行的写法
private void grdQTimeList_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
e.Layout.Override.RowSelectors = DefaultableBoolean.True;
e.Layout.Override.RowSelectorNumberStyle = RowSelectorNumberStyle.VisibleIndex;
e.Layout.Override.RowSelectorWidth = 30;
}
10.Grid中某一列设为下拉框分为两种方式
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
DropDown可编辑,编辑中可进行模糊搜索,但是必须从先至后,DropDownList则不可编辑,只能从下拉框中选择
11.对Grid中单元格进行合并
//第一步先进行排序
int count = grdProductList.DisplayLayout.Bands[0].Columns.BoundColumnsCount;
for (int i = 0; i < count+3; i++)
{
grdProductList.DisplayLayout.Bands[0].Columns[i].SortIndicator = SortIndicator.Ascending;
grdProductList.DisplayLayout.Bands[0].Columns[i].SortIndicator = SortIndicator.Disabled;
}
//第二步进行合并
this.grdProductList.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Always;
this.grdProductList.DisplayLayout.Bands[0].Columns[0].MergedCellStyle = MergedCellStyle.Never;
this.grdProductList.DisplayLayout.Override.MergedCellAppearance.AlphaLevel = 130;
this.grdProductList.DisplayLayout.Override.MergedCellAppearance.ForeColor = Color.Black;
this.grdProductList.DisplayLayout.Override.MergedCellAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True;
或者点击Grid中的Start进行属性设置
Appearance Browser->Cell Appearance->Merger Cell->Alphalevel设置透明度为120左右,ForeColor设置为Black
//第三步可对将交替行背景色设置为一样的白色,取消交替行样式。可选
this.grdProductList.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.White;
12.一个Svr向另一个Svr发送消息时,例如:CNX处理出来的消息要交给PEX处理
可用senderName="GenericSender",用这个需要获取SendSubject,
subject可以在ESBService中的getSendSubject(String serverName)方法
serverName为"PEXsvr"
完整实例
String sendMsg = JdomUtils.toString(msgDocument);
GenericServiceProxy.getGenericSender(senderName).send(subjectName, sendMsg);
通过这种就不用在tib的配置文件里新建Sender了
另外,如果同Svr抛消息,可用PageMove实现
GenericSender:参考ChangeProcessOperationForTransfer中给PEX发genTransferJob或参考
CNX中的TransferJobStartCommand给PEX发TransferJobStartCommand消息
PageMove:参考TransferJobEnded中转到genTransferJob.bpel的方式