找回密码
 立即注册

QQ登录

只需一步,快速开始

outaku1108

注册会员

1

主题

1

帖子

17

积分

注册会员

积分
17
最新发帖
outaku1108
注册会员   /  发表于:2019-9-12 20:43  /   查看:3013  /  回复:1
本帖最后由 outaku1108 于 2019-9-12 20:57 编辑

我要实现功能是grid的行上下移动功能,最后会把移动完的顺序更新到DB中。C1的版本是4.0
我用的是datatable,其中有一列叫“表示顺”,这个列是int类型
窗体上有两个按钮,分别是上移和下移
例如,一共有10列数据,光标现在定位在第五行上,当我点击上移按钮的时候,
我会把第五行和第四行的“表示顺”数据互换,接着让grid重新排序,达到上下移动的效果。
代码如下,
-----------------------------------------------
//当前行的索引
int selRow = this.fgrUketsuke.Row;
//上一行索引
int upRow = this.fgrUketsuke.Row - 1;
//当前行表示顺数据
int dispNoSel = (int)this.bindView.Rows[selRow - 1]["表示順"];
//上一行表示顺数据
int dispNoUp = (int)this.bindView.Rows[selRow - 2]["表示順"];
//两行表示顺互换
this.bindView.Rows[selRow - 1]["表示順"] = dispNoUp;
this.bindView.Rows[selRow - 2]["表示順"] = dispNoSel;

//重新排序,第四列是表示顺
this.fgrUketsuke.Sort(SortFlags.Ascending, 4);
//重新定位选中行
this.fgrUketsuke.Row = upRow;
-----------------------------------------------------------------
第一次点击上移按钮的时候,第五行和第四行数据正常互换,达到目的,这时第四行被选中
再一次点击上移按钮的时候,
期待结果是,第四和第三互换,
实际结果,第四行不变,第三行-》第五行,第五行-》第三行-----------------------------------------------------------------
谢谢帮忙分下原因可以吗。------------
初始状态


第一点完上移按钮之后效果



第二次点完上移按钮


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-9-16 09:37:02
沙发
您好,请将可以重现问题的项目或者demo发送上来,我来帮您验证
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部