Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 列不为';t在webgrid中按顺序显示_Asp.net_Sql_Asp.net Mvc_C# 4.0_Webgrid - Fatal编程技术网

Asp.net 列不为';t在webgrid中按顺序显示

Asp.net 列不为';t在webgrid中按顺序显示,asp.net,sql,asp.net-mvc,c#-4.0,webgrid,Asp.net,Sql,Asp.net Mvc,C# 4.0,Webgrid,我正在从sql存储过程中选取名称以在WEBGRID中显示它。我正在使用MVC 3和linq转换sql 但问题是,当我从数据库中选择列名时,它并不像在数据库中那个样被排序 e、 g.在数据库中,它显示为 EmpName EmpID EmpShift 但在webgrid中,它出现了 Empid EmpShift EmpID 查询: with times as ( SELECT t1.EmplID , t3.EmplName ,

我正在从sql存储过程中选取名称以在WEBGRID中显示它。我正在使用MVC 3和linq转换sql

但问题是,当我从数据库中选择列名时,它并不像在数据库中那个样被排序

e、 g.在数据库中,它显示为

EmpName     EmpID     EmpShift
但在webgrid中,它出现了

Empid     EmpShift    EmpID
查询:

with times as (
SELECT    t1.EmplID
        , t3.EmplName
        , min(t1.RecTime) AS InTime
        , max(t2.RecTime) AS [TimeOut]
        , t4.ShiftId as ShiftID
        , t4.StAtdTime as ShStartTime
        , t4.EndAtdTime as ShEndTime
        , cast(min(t1.RecTime) as datetime) AS InTimeSub
        , cast(max(t2.RecTime) as datetime) AS TimeOutSub
        , t1.RecDate AS [DateVisited]
FROM  AtdRecord t1 
INNER JOIN 
      AtdRecord t2 
ON    t1.EmplID = t2.EmplID 
AND   t1.RecDate = t2.RecDate
AND   t1.RecTime < t2.RecTime
inner join 
      HrEmployee t3 
ON    t3.EmplID = t1.EmplID 
inner join AtdShiftSect t4
ON t3.ShiftId = t4.ShiftId
group by 
          t1.EmplID
        , t3.EmplName
        , t1.RecDate
        , t4.ShiftId 
        , t4.StAtdTime 
        , t4.EndAtdTime
)
SELECT 
 EmplID
,EmplName
,ShiftId As ShiftID
,InTime
,[TimeOut]
,convert(char(5),cast([TimeOutSub] - InTimeSub as time), 108) TotalWorkingTime
,[DateVisited]
,CONVERT(char(5),CASE WHEN  CAST([TimeOutSub] AS DATETIME) >= ShEndTime And ShiftID = 'S002'
     Then  LEFT(CONVERT(varchar(12), DATEADD(ms, DATEDIFF(ms, CAST(ShEndTime AS DATETIME),  CAST([TimeOutSub] AS DATETIME)),0), 108),5) 
     WHEN  CAST([TimeOutSub] AS DATETIME) >= ShEndTime And ShiftID = 'S001'
     Then  LEFT(CONVERT(varchar(12), DATEADD(ms, DATEDIFF(ms, CAST(ShEndTime AS DATETIME),  CAST([TimeOutSub] AS DATETIME)),0), 108),5) 
     ELSE '00:00' END, 108) AS OverTime
FROM times order by EmplID, ShiftID, DateVisited

默认WebGrid排序列顺序基于字母顺序

默认WebGrid排序列顺序基于字母顺序

默认WebGrid排序列顺序基于字母顺序

默认WebGrid排序列顺序基于字母顺序

我的回答对你有帮助吗?或者请给我更多的信息,以便我能给你更好的答案。我的答案对你有帮助吗?或者请给我更多的信息,以便我能给你更好的答案。我的答案对你有帮助吗?或者请给我更多的信息,以便我能给你更好的答案。我的答案对你有帮助吗?或者请给我更多的信息,以便我能给你更好的答案。
public ActionResult showAllEmployees() 
        {
            IEnumerable<GetAtdRecord_SpResult> EmployeeAtd = DataContext.GetAtdRecord_Sp(null).ToList();
            var names = (from n in DataContext.HrEmployees select n).Distinct();
            return View(EmployeeAtd);
        }
@{

    var grid = new WebGrid(ViewData.Model);

}

@grid.GetHtml()