Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've solved my question. But It may be not the best answer : I created an object to return from controller :</p> <pre><code>public class GroupViewDetail { public tbl_group GroupDB { get; set; } public List&lt;GroupViewRow&gt; GVRow { get; set; } public List&lt;tbl_action&gt; ListActionDB { get; set; } public class GroupViewRow { public tbl_controller ControllerDB { get; set; } public List&lt;SubGroupViewRow&gt; SubGVRow { get; set; } public class SubGroupViewRow { public tbl_action ActionDB { get; set; } public bool IsVisible { get; set; } public bool IsExisted { get; set; } } } } </code></pre> <p>Then, in controller, I do this :</p> <pre><code>DBDataContext db = new DBDataContext(); GroupViewDetail gvd = new GroupViewDetail(); gvd.GroupDB = db.tbl_groups.Single&lt;tbl_group&gt;(g =&gt; g.id == id); gvd.ListActionDB = (from a in db.tbl_actions select a).DefaultIfEmpty&lt;tbl_action&gt;().ToList&lt;tbl_action&gt;(); gvd.GVRow = new List&lt;GroupViewDetail.GroupViewRow&gt;(); foreach (tbl_controller c in db.tbl_controllers) { GroupViewDetail.GroupViewRow gvr = new GroupViewDetail.GroupViewRow(); gvr.ControllerDB = c; gvr.SubGVRow = new List&lt;GroupViewDetail.GroupViewRow.SubGroupViewRow&gt;(); foreach (tbl_action a in db.tbl_actions) { GroupViewDetail.GroupViewRow.SubGroupViewRow sgvr = new GroupViewDetail.GroupViewRow.SubGroupViewRow(); sgvr.ActionDB = a; sgvr.IsExisted = (from t in db.tbl_group_controller_actions where t.groupId == id &amp;&amp; t.controllerId == c.id &amp;&amp; t.actionId == a.id select t).DefaultIfEmpty&lt;tbl_group_controller_action&gt;().Single&lt;tbl_group_controller_action&gt;() == null ? false : true; sgvr.IsVisible = (from z in db.tbl_controller_actions where z.actionId == a.id &amp;&amp; z.controllerId == c.id select z).DefaultIfEmpty&lt;tbl_controller_action&gt;().Single&lt;tbl_controller_action&gt;() == null ? false : true; gvr.SubGVRow.Add(sgvr); } gvd.GVRow.Add(gvr); } return View(gvd); </code></pre> <p>finally, this is the view :</p> <pre><code>&lt;%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MasterPage.Master" Inherits="System.Web.Mvc.ViewPage&lt;TestMVC4.Models.Group.GroupViewDetail&gt;" %&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload