나는 데이터베이스에서 각 사용자의 총 잎 수를 계산하려고합니다. Asp.Net MVC-3 (Aspx)에 telerik gridview로 표시하려고합니다.MVC-3에서 각 사용자의 리프 (데이터베이스에서 인출)의 총계를 개별적으로 계산하는 방법은 무엇입니까?
두 개의 열이있는 gridview가 있습니다. 첫 번째 열에는 모든 직원/사용자의 이름이 표시되고 두 번째 열에는 해당 사용자의 총 잎이 표시됩니다.
내 데이터베이스은 다음과 같다
leave_master
leave_id (기본 키) USER_ID (테이블 user_master의 USER_ID와 외래 키) leave_days
user_master
user_id (기본 키) user_real_name
내 모델 파일입니다 같은 이름
아래 - LeaveGridview.cs<pre>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
namespace ProjectManagementSystem.Models
{
public class LeaveGridview
{
public int user_id { get; set; }
public string user_name { get; set; }
public string user_real_name { get; set; }
public int leave_id { get; set; }
public decimal leave_days { get; set; }
}
}
</pre>
2 파일
이름 - LeaveGridviewFetch.cs
<pre>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace ProjectManagementSystem.Models
{
public class LeaveGridviewFetch
{
public static IList<LeaveGridview> all()
{
IList<LeaveGridview> result =
(IList<LeaveGridview>)HttpContext.Current.Session["leave1"];
if (result == null)
{
HttpContext.Current.Session["leave1"] = result =
(from l in new ProjectManagementSystemEntities3().leave_master
select new LeaveGridview
{
user_id = l.user_id,
leave_id = l.leave_id,
user_real_name = l.user_master.user_real_name,
}).ToList();
}
return result;
}
}
}
</pre>
,451,515,
내 contgroller 파일 이름 LeaveController.cs
<pre>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ProjectManagementSystem.Models;
using Telerik.Web.Mvc;
namespace LeaveModule.Controllers
{
public class LeaveController : Controller
{
public ProjectManagementSystemEntities3 pb = new ProjectManagementSystemEntities3();
public ActionResult LeaveShow()
{
var leave_master = pb.leave_master.Include("user_master");
ViewBag.leave_id = new SelectList(pb.user_master, "user_id", "user_real_name");
return View(leave_master.ToList());
}
[GridAction]
public ActionResult _SelectBatchEditing()
{
return View(new GridModel(LeaveGridviewFetch.all()));
}
}
}
</pre>
내보기
<pre>
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
LeaveShow
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% Html.Telerik().Grid<ProjectManagementSystem.Models.LeaveGridview>()
.Name("grid")
.DataKeys(keys =>
{
keys.Add(l => l.leave_id);
})
.DataBinding(dataBinding =>
dataBinding.Ajax()
.Select("_SelectBatchEditing", "Leave") // Leave is controller name
)
.Columns(columns =>
{
columns.Bound(l => l.user_real_name).Width(200);
columns.Bound(l => l.leave_days).Width(150);
})
.Groupable()
.Pageable()
.Filterable()
.Render();
%>
</asp:Content>
</pre>
내가 싶어 LeaveShow.ascx
이름 입니다
이름 - 같은 출력 -------- ------ total_는 --------------
ABC ---------------- 10
XYZ 잎 - 12
PQR ---------------- 06
그래서 내가 그렇게 할 수 있습니까? 당신이 일을 집계 할 경우, 당신은 당신의 쿼리에서 leave_id
을 가질 수 없습니다
누가 내 모든 질문에 투표를하니? – Dip