私はデータベースから各ユーザーの合計葉を数えたいと思っています。 Asp.Net MVC-3(Aspx)のtelerikグリッドビューで表示します。MVC-3で各ユーザのリーフ(データベースからのフェッチ)の合計を個別にカウントする方法は?
私は2つの列を持つgridviewを持っています。最初の列にはすべての従業員/ユーザーの名前が表示され、2列目にはそのユーザーの合計リーフが表示されます。
私データベースは以下の通りである
leave_master
leave_id(プライマリキー) USER_ID(表user_masterのUSER_IDと外部キー) leave_days
user_master
user_id(主キー) 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>
第二ファイル
名 - - 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>
user_real_name
私のモデルファイルが
名以下の通りです
マイ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_は-------------- 10
XYZ ----------------
ABCを残し - 12
PQR ---------------- 06
だから私はそれを行うことができますか?
事前のおかげで...
私のすべての質問は誰が投票していますか? – Dip