C#实例应用总结(一)
本人没有系统学习过,C#,只是在事情中堆集了一些,为了便利以后开发中使用,在此做一下总结,如有不同错误的处所,欢迎列位不雅观众多多攻讦与斧正!
您的定见,才华使大家更好的进步!望不吝指教!
观点就不说了,有兴趣的话,可以留言,以后再加上!
工具用的是VS2013,后台用的java
一、gridView的增删改查,
1、盘问
按照sql盘问,
ServiceFactory.CreateService<IDeptParameterService>().queryWaitParameter(param).Then(list =>
{
this.gridControl1.DataSource = list;
});
ServiceResult<List<WaitParVo>> queryWaitParameter(string pkDept);
IDeptParameterService是我的service类,里面只写要领,页面的上要领体里,,用“.”的方法,可以挪用出本身写的要领,
list 用list变量来接收
this.gridControl1.DataSource = list;赋值给你要显示的gridControl的列表上的数据源,列表上写好对应的名称即可!
ServiceResult<List<WaitParVo>> queryWaitParameter(string pkDept);是service层的要领,
WaitParVo为该列表对应的实体类,
string pkDept为参数,
queryWaitParameter要领名。
2、新增
gridView经常会用到新增的时候,在这里,供给两种要领,(固然也但愿列位不雅观众有更好的要领,多多指教。)
这两种也是视条件来决定,有一种,只插入数据库的方法,然后,刷新页面,即新增一行。下面会细讲!
主要讲第二种,
gridView1.AddEmptyRow<WaitParVo>(row => string.IsNullOrEmpty(row.Code), new WaitParVo
{
Code = ar.CodeArgu,
Name = ar.NameArgu,
PkOrg = AppContext.Session.OrganizationId,
});
AddEmptyRow为新增一行的要领,
WaitParVo,该gridView对应的实体类
row 变量名,
string.IsNullOrEmpty(row.Code)是否为空判断
{}里面为需要给列表赋的值。
可按照实际情况转变。
此中ar是什么?
这段代码是我从本身的项目上粘出来的,讲一下,为什么这么写
我其时的需求是这样的
点击右箭头,酿成这样
点击》按钮,左侧列表全部移动到右侧,《和<同理
左侧列表为gridControl1,右侧为GridControl2
var ar = this.gridView2.GetFocusedRow() as ArguVo;
if(ar == null){
MessageBoxUtils.Hint("没有已选参数了");
return;
}
gridView1.AddEmptyRow<WaitParVo>(row => string.IsNullOrEmpty(row.Code), new WaitParVo
{
Code = ar.CodeArgu,
Name = ar.NameArgu,
PkOrg = AppContext.Session.OrganizationId,
});
int rowindex = gridView2.FocusedRowHandle;
gridView2.DeleteRow(rowindex);
摆布同理,先获取到列表的光标选中行this.gridView2.GetFocusedRow() as ArguVo;
用变量来接收,增加之后,把获取到的值,赋值给另一个列表的对应字段。
int rowindex = gridView2.FocusedRowHandle;获取选中行的下标,按照选中行的下标删除。完成移动的操纵!
在写》的要领
private List<WaitParVo> WList;
private List<ArguVo> AList;
List<ArguVo> s = this.AList;
List<WaitParVo> d = this.WList;
if (d == null || d.Count < 1)
{
MessageBoxUtils.Hint("待选参数已全选");
return;
}
foreach (var g in d)
{
gridView2.AddEmptyRow<ArguVo>(row => string.IsNullOrEmpty(row.CodeArgu), new ArguVo
{
CodeArgu = g.Code,
NameArgu = g.Name,
PkOrg = AppContext.Session.OrganizationId,
PkArgu = g.PkParamtemp,
Arguval = g.ValDef,
NoteArgu = g.DescParam
});
}
this.gridControl1.DataSource = null;
this.WList = null;
return;
先按照列表对应的实体类,创建list调集,
用foreach遍历新增,将调集里所有的值,全部新增,按照调集里的值,对应赋值给,两一个列表的相应名称。
this.gridControl1.DataSource = null;将之前的列表为空。