Freigeben über


Gewusst wie: Erstellen eines hierarchischen Rasters

Letzte Änderung: Donnerstag, 16. Juni 2011

Gilt für: SharePoint Foundation 2010

In dieser Vorgehensweise wird beschrieben, wie Sie ein hierarchisches JS Grid-Steuerelement erstellen. Sie baut auf dem in Vorgehensweise: Erstellen eines einfachen JS-Rasters abgeschlossenen Projekt auf.

HinweisHinweis

Auf Ihrem Computer werden möglicherweise abweichende Namen oder Orte für einige Elemente der Visual Studio-Benutzeroberfläche in den folgenden Anweisungen angezeigt. Diese Elemente werden durch die installierte Edition von Visual Studio und die verwendeten Einstellungen bestimmt.

Voraussetzungen

HinweisHinweis

Obwohl diese Vorgehensweise auch ohne Visual Studio 2010 durchgeführt werden kann, ist es einfacher, Visual Studio 2010 und die SharePoint-Entwicklungstools in Microsoft Visual Studio 2010 zu verwenden.

Erstellen eines hierarchischen Rasters

Erstellen Sie ein hierarchisches Raster durch Aufrufen von EnableHierarchy(DataTable, String, String, Boolean). Diese Methode erfordert eine übergeordnete Schlüsselspalte und eine Gliederungstextspalte. Die übergeordnete Schlüsselspalte und die Gliederungstextspalte sind bereits in den Dateien GridData.cs und GridUtilities.cs enthalten, die in Vorgehensweise: Erstellen eines einfachen JS-Rasters erstellt wurden. Nun muss nur noch die Hierarchie aktiviert werden.

So erstellen Sie ein hierarchisches Raster

  1. Öffnen Sie in den SharePoint-Entwicklungstools in Microsoft Visual Studio 2010 das Projekt JSGrid, das in Vorgehensweise: Erstellen eines einfachen JS-Rasters erstellt wurde.

  2. Öffnen Sie JsGridWebPartUserControl.ascx.cs.

  3. Aktivieren Sie innerhalb der Page_Load-Methode unmittelbar nach der Definition des Rastercontrollers die Hierarchie mithilfe von EnableHierarchy(DataTable, String, String, Boolean).

    _grid.JSControllerClassName = "GanttManager";
    gds.EnableHierarchy(null, "HierarchyParentKey", "Title", false);
    

    Das erste Argument definiert, wenn es nicht NULL ist, eine ungefilterte Datentabelle. Das zweite Argument ist die in GridData.cs definierte, in der Hierarchie übergeordnete Schlüsselspalte HierarchyParentKey. Der dritte Parameter gibt an, in welcher Spalte der Hierarchieindikator angezeigt wird. (In diesem Fall ist dies die Title-Spalte, die ebenfalls in GridData.cs definiert ist). Falls der letzte Parameter true ist, bedeutet dies, dass die ungefilterte Datentabelle an den Client übergeben werden soll. Der Einfachheit halber wird in diesem Beispiel keine ungefilterte Datentabelle verwendet.

  4. Überprüfen Sie die Definitionen von HierarchyParentKey und Title in GridUtilities.cs.

    Öffnen Sie GridUtilities.cs.

    In GridUtilities.cs sollte HierarchyParentKey nicht sichtbar sein. Bedenken Sie, dass Spalten im Gegensatz zu Feldern sichtbar sind. Daher müssen Sie sicherstellen, dass HierarchyParentKey in GridUtilities.cs nicht sichtbar ist.

    if (iterator.ColumnName != "Key"
                        && iterator.ColumnName != GridSerializer.DefaultGridRowStyleIdColumnName
                        && iterator.ColumnName != "HierarchyParentKey"
                        && iterator.ColumnName.Substring(0, 5) != "costq"
                        && iterator.ColumnName.Substring(0, 5) != "Quart")
    
  5. Öffnen Sie GridData.cs, um die Definitionen von HierarchyParentKey und Title in GridData.cs zu überprüfen.

    Die Spalten Title und HierarchyParentKey werden in der DataTable-Methode hinzugefügt.

    data.Columns.Add(new DataColumn("HierarchyParentKey", typeof(Guid))); // Hierarchial Grid
    data.Columns.Add(new DataColumn("Title", typeof(string)));
    

    Beachten Sie in der DataTable-Methode den Code zum Auffüllen der HierarchyParentKey-Spalte und der Title-Spalte mit Daten.

         // used for the hierarchy grid how-to.
                  dr["Key"] = curKey;
                    if (i % 10 == 0)
                    {
                        parent = curKey;
                        j++;
                    }
                    if (parent.HasValue)
                    {
                        dr["HierarchyParentKey"] = parent.Value;
                    }
                    if (parent == null)
                    {
                        parent = curKey;
                    }
                    dr["Tasks"] = "Task " + j + "." + i % 10;
    

    In diesem Beispiel wird der Modulo-Operator verwendet, um 10 kleinere Vorgänge für jeden größeren Vorgang zu erstellen. Die Vorgangszahlen, z. B. 1.1, 1.2 und 1.3, werden in der Title-Spalte gespeichert.

Die vollständigen Auflistungen von GridData.cs und GridUtilities.cs finden Sie unter Vorgehensweise: Erstellen eines einfachen JS-Rasters.

So testen Sie das Webpart

  1. Drücken Sie in Visual Studio F5, um das Projekt auszuführen.

    Wenn Sie das Projekt ausführen, erfolgt die Bereitstellung, und die SharePoint 2010-Website wird geöffnet. Das Webpart wird automatisch dem SharePoint 2010-Webpartkatalog hinzugefügt.

  2. Öffnen und bearbeiten Sie eine Webpartseite. Sie können das Webpart jeder beliebigen Webpartseite hinzufügen.

  3. Klicken Sie auf Einfügen, auf Webpart, und wählen Sie dann aus der benutzerdefinierten Kategorie die Option JSWebPart aus. Das Webpart wird auf der Seite angezeigt.

Siehe auch

Referenz

EnableHierarchy(DataTable, String, String, Boolean)