it-swarm.com.de

Zugriff auf Zeilendaten in Telerik RadGrid (Serverseite)

Ich habe keine Probleme mit Javascript, um die Zeilen einer Telerik-Radgrid-Komponente zu lesen. Ich habe ewig nach einer Lösung gesucht, aber kein Glück. Alle Hinweise wäre sehr dankbar.

Tony

9
TonyNeallon

Möglicherweise möchten Sie sich die Eigenschaft DataKeyValues ​​ des OwnerTableView-Objekts ansehen, mit der Sie auf eine Sammlung von Werten zugreifen können, die die Felder in einer bestimmten Zeile darstellen. Ich verwende es während des EditCommand-Ereignishandlers, da ein Benutzer meiner Website zu einer Bearbeitungsseite weitergeleitet wird, wenn er auf den Link klickt, um eine Zeile im Raster zu bearbeiten, und bestimmte Informationen zu der angegebenen Zeile in der Abfrage weitergeben muss Zeichenfolge.

Wenn sich herausstellt, dass dies das ist, was Sie benötigen, müssen Sie auch definieren, welche Felder über diese Eigenschaft verfügbar gemacht werden sollen. Sehen Sie sich dazu die Eigenschaft MasterTableView.DataKeyNames im Eigenschaftenblatt für das Raster an. Sie geben grundsätzlich eine durch Kommas getrennte Liste von Feldnamen an.

16
Chris Tybur

Ich verwende seit einiger Zeit das Telerik-Raster und habe in den zugehörigen Dokumenten die folgenden Artikel zum Abrufen von Daten von ausgewählten Zeilen auf Server- oder Clientseite gefunden:

Server-SeiteClient-Seite

Ich hoffe, Sie finden sie hilfreich.

Dick

5
Dick Lampard

Die Serverseite ist der einfache Teil:

GridItemCollection gridRows = TestGrid.Items;
foreach (GridDataItem data in gridRows)
{
    ItemClass obj = (ItemClass)data.DataItem;
}

Es ist der clientseitige Teil, den ich nicht kenne! : [

3
Jason
private Int32 GetID()
{
    foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
    {
        if (dataItem.Selected == true)
        {
            Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
            return ID;
        }
    }
    throw new ArgumentNullException("Id Not found");
}
1
user123976

Wenn Sie Ihre Steuerelemente in Markup oder Page Init für dynamische Steuerelemente korrekt erstellt haben, stellt RadGrid den Status ordnungsgemäß wieder her.

Sie können auf die Anfangswerte zugreifen, die wie im folgenden Beispiel aus der Datenquelle geladen wurden, sofern Sie die betreffende Tabellenansicht angewiesen haben, die Spalten in den Datenschlüsseln beizubehalten.

protected T GetInitialGridData<T>(GridDataItem item, string uniqueColumnName) {
   item.ThrowIfNull("item");
   uniqueColumnName.ThrowIfNullOrEmpty("uniqueColumnName");

   return (T)item.OwnerTableView.DataKeyValues(gridItem.ItemIndex)(columnName);
}

Wenn Sie eine dynamische benutzerdefinierte Vorlagenspalte verwenden und Werte abrufen müssen, die sich möglicherweise in ihrem Status befinden, können Sie Folgendes verwenden:

protected string GetCustomTextBoxValue(GridDataItem item, string controlID) {
   item.ThrowIfNull("item");
   controlID.ThrowIfNullOrTrimmedEmpty("controlID");

   return ((TextBox)item.FindControl(controlID)).Text;
}
0
Rob
private Int32 GetID()
{
    foreach (Telerik.Web.UI.GridDataItem dataItem in radGrid.MasterTableView.Items)
    {
        if (dataItem.Selected == true)
        {
           // Int32 ID = (Int32)dataItem.GetDataKeyValue("ID");
Int32 ID =Convert.ToInt32(dataItem.GetDataKeyValue("ID"));
            return ID;
        }
    }

}
//this will work
0
Binay Rana

Dies ist diejenige, die für mich funktioniert und die RadGrid.SelectedItems-Auflistung verwendet.

protected void LinkButton1_Click(object sender, EventArgs e)
    {
        List<Guid> OrderIdList = new List<Guid>();

        foreach (GridDataItem OrderItem in this.RadGrid1.SelectedItems)
        {
            OrderIdList.Add(new Guid(OrderItem.GetDataKeyValue("OrderId").ToString()));
        }
    }
0
Solburn