• DataTable 手动排序 无效的问题解决方法??


    DataTable dt=new DataTable();
       DataColumn dc;
       DataRow dr;
                dc=new DataColumn("ID",typeof(System.Int32));
       dt.Columns.Add(dc);
       dc=new DataColumn("SUBJECT",typeof(System.String));//标题
       dt.Columns.Add(dc);
       dc=new DataColumn("DISPLAY_NAME",typeof(System.String));//提交部门
       dt.Columns.Add(dc);
       dc=new DataColumn("CO_DEPT_NAME",typeof(System.String));//受理部门
       dt.Columns.Add(dc);
       dc=new DataColumn("ISSUE_DATE",typeof(System.DateTime));//提交时间
       dt.Columns.Add(dc);
                
       dc=new DataColumn("DEADLINE",typeof(System.String));//回复情况
       dt.Columns.Add(dc);
     
       dc=new DataColumn("Num",typeof(System.Int32));//办理情况 排序 //红灯=3 黄灯=2 绿灯=1
       dt.Columns.Add(dc);

       dc=new DataColumn("CO_TYPE",typeof(System.String));
       dt.Columns.Add(dc);

       dc=new DataColumn("FEEDBACK_FLAG",typeof(System.String));
       dt.Columns.Add(dc);

       string n=System.Configuration.ConfigurationSettings.AppSettings["ZnNum"].ToString();
       int num=int.Parse(n);
       string sql="SELECT  top "+num+"    CO_TYPE,DEPT_INFO.DISPLAY_NAME, CO_BASEINFO.SUBJECT, CO_BASEINFO.CO_DEPT_NAME,";
       sql+=" CO_BASEINFO.ISSUE_DATE, CO_BASEINFO.PUBLISH_DATE, CO_BASEINFO.ID,CO_BASEINFO.FEEDBACK_FLAG,CO_BASEINFO.DEADLINE";
       sql+=" FROM         CO_BASEINFO INNER JOIN";
       sql+=" DEPT_INFO ON CO_BASEINFO.ISSUE_DEPT_ID = DEPT_INFO.ID where CO_BASEINFO.ISSUE_FLAG='1' and CO_BASEINFO.CO_TYPE not in('police_abroad','customs_abroad') and CO_BASEINFO.OPEN_FLAG=1 order by FEEDBACK_FLAG asc,ISSUE_DATE desc";
       
       DataTable dt2=GetNewTableByHb2004(sql);
       for(int i=0;i<dt2.Rows.Count;i++)
       {
          dr=dt.NewRow();
          dr["ID"]=Convert.ToInt32(dt2.Rows[i]["ID"].ToString());
          dr["SUBJECT"]=dt2.Rows[i]["SUBJECT"].ToString();
          dr["DISPLAY_NAME"]=dt2.Rows[i]["DISPLAY_NAME"].ToString();
          dr["CO_DEPT_NAME"]=dt2.Rows[i]["CO_DEPT_NAME"].ToString();
          dr["ISSUE_DATE"]=Convert.ToDateTime(dt2.Rows[i]["ISSUE_DATE"].ToString());
          dr["DEADLINE"]=dt2.Rows[i]["DEADLINE"].ToString();
          dr["CO_TYPE"]=dt2.Rows[i]["CO_TYPE"].ToString();
          dr["FEEDBACK_FLAG"]=dt2.Rows[i]["FEEDBACK_FLAG"].ToString();
        //判断处理情况
        int ifnum=IsClose2(dt2.Rows[i]["ISSUE_DATE"].ToString(),dt2.Rows[i]["DEADLINE"].ToString(),3,dt2.Rows[i]["FEEDBACK_FLAG"].ToString());
        dr["Num"]=ifnum;
        dt.Rows.Add(dr);
         
       }
       //**************下面才能实现按照需要的排序输出******************//
       DataRow[] rows=dt.Select("","Num desc,ISSUE_DATE desc");
       DataTable tmptb=dt.Clone();
       tmptb.Rows.Clear();
       foreach(DataRow row in rows)
        tmptb.ImportRow(row);

    //**************************************************//
       return tmptb;

  • 相关阅读:
    cat n个文件 June
    promise 码农
    [Linux]加载iso文件,并绑定到FTP共享
    [Linux]解决一例多个硬盘Linux启动的问题
    [CentOS]创建yum本地源
    [Java]服务器端用 Axis1.4 返回复杂对象记录
    [chs]Axis2 Binary Distribution 安装指南
    [CentOS]开启yum缓存
    [转]CSS hack总结
    闭包匿名闭包
  • 原文地址:https://www.cnblogs.com/ggbbeyou/p/1525496.html
Copyright © 2020-2023  润新知