zoukankan      html  css  js  c++  java
  • 关于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 == "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;
                }
            }
    

  • 相关阅读:
    Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize
    fnd_profile.value的用法
    FND_MESSAGE 消息提示详解
    FORM触发器执行顺序
    大数据实战精英+架构师班 ④ 期
    .Net Core3.0 WebApi 十五:使用Serilog替换掉Log4j
    .Net Core3.0 WebApi 十四:基于AOP的切面redis缓存
    .Net Core3.0 WebApi 十三:自定义返回Json大小写格式
    .Net Core3.0 WebApi 十二:自定义全局消息返回过滤中间件
    .Net Core3.0 WebApi 十一:基于Log4j的全局异常处理
  • 原文地址:https://www.cnblogs.com/yzenet/p/2747562.html
Copyright © 2011-2022 走看看