DevExpress GridView表格记录位置调整,实现DataRow记录排序
![](http://www.csframework.com/images/article-type5.gif)
![DevExpress GridView表格记录位置调整,实现DataRow记录排序 DevExpress GridView表格记录位置调整,实现DataRow记录排序](http://www.csframework.com/images/seo/SEO-%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1.jpg)
CSFramework开发框架新功能 - frmRowPositionAdjustor
新开发一个功能,用于调整DevExpress GridControl组件GridView表格的记录位置, 实际是修改DataRow的排序字段的值。查询数据返回结果根据排序字段Order By。
参考:C/S系统快速开发框架V5.0旗舰版的《采购单》、《销售单》。
![贴图图片-DevExpressGridView表格记录行位置调整器](http://www.csframework.com/upload/image/DevExpressGridView表格记录行位置调整器.png)
C/S系统快速开发框架使用:
![贴图图片-DevExpressGridView表格记录行位置调整器3](http://www.csframework.com/upload/image/DevExpressGridView%E8%A1%A8%E6%A0%BC%E8%AE%B0%E5%BD%95%E8%A1%8C%E4%BD%8D%E7%BD%AE%E8%B0%83%E6%95%B4%E5%99%A83.png)
![贴图图片-DevExpressGridView表格记录行位置调整器1](http://www.csframework.com/upload/image/DevExpressGridView%E8%A1%A8%E6%A0%BC%E8%AE%B0%E5%BD%95%E8%A1%8C%E4%BD%8D%E7%BD%AE%E8%B0%83%E6%95%B4%E5%99%A81.png)
技术要求:
1. 排序序号【SortFieldName】字段是decimal类型,要求最少4位小数。
2. 通过DataTable.DefaultView进行排序。
3. 调整器使用接口开发,支持不同数据源的排序和调整。
4. 开发框架统一调用接口方法frmRowPositionAdjustor.Register()
测试程序:
![贴图图片-DevExpressGridView表格记录行位置调整器](http://www.csframework.com/upload/image/DevExpressGridView表格记录行位置调整器.png)
调整器的接口设计:
C# Code:
/// <summary>
/// 位置调整接口
/// </summary>
public interface IRowAdjustor
{
void ToFirst();
void ToLast();
void ToPrior();
void ToNext();
/// <summary>
/// 重置排序序号
/// </summary>
void Reset();
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// <summary>
/// 位置调整接口
/// </summary>
public interface IRowAdjustor
{
void ToFirst();
void ToLast();
void ToPrior();
void ToNext();
/// <summary>
/// 重置排序序号
/// </summary>
void Reset();
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
C# Code:
/// <summary>
/// 注册表格组件,自动创建弹出菜单
/// </summary>
/// <param name="gv">表格组件</param>
/// <param name="sortFieldName">排序字段名称</param>
public static void Register(GridView gv, string sortFieldName)
{
ContextMenuStrip menu = gv.GridControl.ContextMenuStrip;
if (menu == null)
{
gv.GridControl.ContextMenuStrip = new ContextMenuStrip();
AddMenu(gv, sortFieldName);
}
else
{
ToolStripItem[] items = menu.Items.Find("menuRowAdjustor", true);
if (items.Length == 0)
{
AddMenu(gv, sortFieldName);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// <summary>
/// 注册表格组件,自动创建弹出菜单
/// </summary>
/// <param name="gv">表格组件</param>
/// <param name="sortFieldName">排序字段名称</param>
public static void Register(GridView gv, string sortFieldName)
{
ContextMenuStrip menu = gv.GridControl.ContextMenuStrip;
if (menu == null)
{
gv.GridControl.ContextMenuStrip = new ContextMenuStrip();
AddMenu(gv, sortFieldName);
}
else
{
ToolStripItem[] items = menu.Items.Find("menuRowAdjustor", true);
if (items.Length == 0)
{
AddMenu(gv, sortFieldName);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
C/S系统快速开发框架使用:
在业务窗体功InitializeForm方法内添加如下代码,注册表格,自动创建弹出菜单功能。
C# Code:
frmRowPositionAdjustor.Register(gvDetail, "Queue"); //注册表格,注意指定排序字段
frmRowPositionAdjustor.Register(gvDetail, "Queue"); //注册表格,注意指定排序字段
frmRowPositionAdjustor文件存放位置:
![贴图图片-DevExpressGridView表格记录行位置调整器3](http://www.csframework.com/upload/image/DevExpressGridView%E8%A1%A8%E6%A0%BC%E8%AE%B0%E5%BD%95%E8%A1%8C%E4%BD%8D%E7%BD%AE%E8%B0%83%E6%95%B4%E5%99%A83.png)
C/S系统快速开发框架 - OMS系统功能应用:
基于C#.NET标准三层架构订单管理系统 (OMS)
![贴图图片-DevExpressGridView表格记录行位置调整器1](http://www.csframework.com/upload/image/DevExpressGridView%E8%A1%A8%E6%A0%BC%E8%AE%B0%E5%BD%95%E8%A1%8C%E4%BD%8D%E7%BD%AE%E8%B0%83%E6%95%B4%E5%99%A81.png)
按钮事件调用(不会自动创建表格的弹出菜单):
C# Code:
//打开调整界面
frmAdjustor.Execute(this, gridView1, "Queue");
//来源:C/S框架网(www.csframework.com) QQ:23404761
//打开调整界面
frmAdjustor.Execute(this, gridView1, "Queue");
//来源:C/S框架网(www.csframework.com) QQ:23404761
扫一扫加微信:
VIP用户下载源码:
![贴图图片-DevExpressGridView表格记录行位置调整器2](http://www.csframework.com/upload/image/DevExpressGridView表格记录行位置调整器2.png)
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网