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;将之前的列表为空。