Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to create Alphabetical list with letters?
    text
    copied!<p>Hi all I trying to implement alpha ordered list by columns</p> <p>as shown on <a href="http://clip2net.com/clip/m12007/1243674700-clip-41kb.png" rel="nofollow noreferrer">picture</a></p> <p>But my algorithm is not clear and maybe someone could help me within</p> <pre><code>string[] letters = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Å", "Ä", "Ö", "0-9" }; int j = 0, s = 0, i = 1; var fullServices = (from se in EntityBase.db.Services orderby se.Name select se).ToList(); int total = fullServices.Count; var grouped = (from l in letters select new ServiceInfo { Letter = l, Services = EntityBase.db.Services.Where(se =&gt; se.Name.StartsWith(l)).ToList(), Total = EntityBase.db.Services.Where(se =&gt; se.Name.StartsWith(l)).Count() }).ToList(); Dictionary&lt;int, List&lt;ServiceInfo&gt;&gt; result = new Dictionary&lt;int, List&lt;ServiceInfo&gt;&gt;(); changecell: List&lt;ServiceInfo&gt; item = new List&lt;ServiceInfo&gt;(); while (j &lt; letters.Count()) { letterchange: List&lt;Service&gt; _services = new List&lt;Service&gt;(); while (s &lt; total) { if ((s == (5 + (total % 5 &gt; i ? 1 : 0)) * i)) { item.Add(new ServiceInfo() { Letter = letters[j], Services = _services }); result.Add(i, item); if (i == 6) goto exit; i++; goto changecell; } //start render services if (fullServices.ElementAt(s).Name.StartsWith(letters[j])) { _services.Add(fullServices.ElementAt(s)); s++;//increment service in list } else //letter switch { item.Add(new ServiceInfo() { Letter = letters[j], Services = _services }); j++; goto letterchange; } }//end render services } exit: return View(result); </code></pre> <p>In a result of my code I see missed letters X Y Z Å Ä Ö and it's looks like <a href="http://clip2net.com/clip/m12007/1243675035-clip-15kb.png" rel="nofollow noreferrer">this</a></p> <p>Here comes code that renders dictionary</p> <pre><code>&lt;% foreach (KeyValuePair&lt;int, List&lt;BL.Models.Infos.ServiceInfo&gt;&gt; col in Model) { %&gt; &lt;ul class="col"&gt; &lt;% foreach (var item in col.Value) { %&gt; &lt;% if (!item.Services.Any()) {%&gt; &lt;li class="disabled"&gt; &lt;h1&gt; &lt;%= item.Letter %&gt;&lt;/h1&gt; &lt;/li&gt; &lt;%} else { %&gt; &lt;li&gt; &lt;h1&gt; &lt;a href="/service/info/&lt;%= item.Letter %&gt;"&gt;&lt;%= item.Letter %&gt;&lt;/a&gt; &lt;/h1&gt; &lt;/li&gt; &lt;% foreach (var service in item.Services) { %&gt; &lt;li&gt;&lt;a href="/service/info/&lt;%= service.Name %&gt;"&gt;&lt;%= service.Name %&gt;&lt;/a&gt;&lt;/li&gt; &lt;%} } }%&gt; &lt;/ul&gt; &lt;%} %&gt; </code></pre> <p>Please help...</p>
 

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