首页 > 代码库 > 关于dataTable上移或下移
关于dataTable上移或下移
//记录上移或下移 private void ReccordData(DataTable dt, string TypeValue, int index) { DataRow dr = dt.Rows[index]; //表示要移动的当前行对象 string strValu = dr[0].ToString(); //当前行对象某一例的值(我这里默认是0列) strVal是记录此值 dt.Rows.RemoveAt(index); //先删除它,在插入 DataRow drnew = dt.NewRow(); drnew[ "Engilsh" ] = strValu; if (TypeValue =http://www.mamicode.com/= "UPEnglish" ) //说明是上移或者下移 { dt.Rows.InsertAt(drnew, index - 1); //上移就在自已索引位置减1 } else { dt.Rows.InsertAt(drnew, index+1); //反之下移就在当前位加1 } gridViewInsertEnglishBind(); // 绑定数据 } |
//下面是行命令事件 protected void gridViewInTruEnglish_RowCommand( object sender, GridViewCommandEventArgs e) { switch (e.CommandName) { case "DeleteEnglish" : // 删除 // int row = ((GridViewRow)((ImageButton)sender).NamingContainer).RowIndex; GridViewRow drvEnglishDelet = ((GridViewRow)(((ImageButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值 dtInStroEnglish.Rows.RemoveAt(drvEnglishDelet.RowIndex); gridViewInsertEnglishBind(); // 绑定数据 break ; case "DownEnglish" : // 下降 GridViewRow drvDownEnglish = ((GridViewRow)(((ImageButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值 int indexDown = drvDownEnglish.RowIndex; //当前行的索引 if (indexDown == dtInStroEnglish.Rows.Count-1) //表示最下面了,索引从0开始 { return ; } else { ReccordData(dtInStroEnglish, "UPEnglish" , indexDown); } break ; case "UPEnglish" : // 上升 GridViewRow drvUPEnglish = ((GridViewRow)(((ImageButton)(e.CommandSource)).Parent.Parent)); //此得出的值是表示那行被选中的索引值 int indexUp = drvUPEnglish.RowIndex; //当前行的索引 if (indexUp == 0) //当它本身位置是第一个当然是不可以上移的 { return ; } else { ReccordData(dtInStroEnglish, "UPEnglish" , indexUp); } break ; } } |
<br> |
关于dataTable上移或下移
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。