Ich arbeite derzeit an der Änderung eines Tree View-Steuerelements (Telerik MVC Extensions) für eine Kundenanfrage. Ihre Anforderung ist einfach: Wenn ein Element in der Struktur eine Anlage hat, fügen Sie eine Büroklammer neben dem Knoten hinzu, um sie zu identifizieren.Hinzufügen eines Bilds zu nur einem Knoten in einer Strukturansicht
Ich habe es bis jetzt geschafft, aber, fand einen kleinen Schluckauf damit. Ich kann das Bild zu bestimmten Knoten hinzufügen, die einen Anhang haben, jedoch sollten alle Knoten, die kein Bild haben, kein Bild haben (damit meine ich, dass sie innerhalb des Baumes normal erscheinen). Stattdessen finde ich, dass der Baum ein Leerzeichen der Größe des Büroklammerbilds platziert.
Gibt es eine Möglichkeit, diese leere Stelle dynamisch zu deaktivieren (aka keine Image-URL hinzufügen, wenn nicht notwendig)? Unten ist mein Code, wo ich diesen Prozess ausführe (wird auf der Erweiterungsmethode des Baumes durchgeführt, die nur die untere Ebene zeigt die Attachments).
Navigation Controller
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetNextTreeViewLevel(TreeViewItem node)
{
...
//If bottom layer, then execute the following
var data = _TreeRepo.GetProcessesByParcel(int.Parse(values[1]), cntTreeList);
nodes = from item in data
select new TreeViewItem
{
Text = item.strProcess,
Value = "PR" + "," + item.cntProcess.ToString(),
LoadOnDemand = false,
Enabled = true,
Selected = SelectedSearchResult.ToString().Length > 0
&& SelectedSearchResult.ToString().Split('~').Length > 3
&& decimal.Parse(SelectedSearchResult.ToString()
.Split('~')
.Last()
.Substring(2)) == item.cntProcess
ImageUrl = item.ysnHasAttachment.HasValue && item.ysnHasAttachment.Value == 1
? @"/Content/NewImages/attachment.png"
: string.Empty
};
return new JsonResult { Data = nodes };
}
Screenshots von dem, was es sieht aus wie ohne/mit Code für Bild Url: