Frage

Ive keine Probleme mit Javascript um die Zeilen eines lesen Telerik Komponente im mit RadGrid aber ich kann scheinen sowieso zu finden, die Zeilendaten Server-Seite zuzugreifen, wenn ein Postback auftritt. Ive verbrachte Alter für Lösung, aber kein Glück. Alle Zeiger würden sehr geschätzt werden.

Tony

War es hilfreich?

Lösung

Sie können auf der DataKeyValues Eigenschaft des Objekts OwnerTableView, die Sie lassen Zugriff auf eine Sammlung von Werten, die die Felder in einer bestimmten Zeile darstellen. Ich benutze es während der EditCommand Event-Handler, da ein Benutzer von meiner Seite zu einer Eingabeseite gerichtet ist, wenn sie auf den Link klicken, um eine Zeile im Raster zu bearbeiten, und ich brauche entlang bestimmter Informationen über die gegebene Zeile in der Abfrage übergeben String.

Wenn dies erweist sich, was Sie brauchen, werden Sie auch festlegen müssen, welche Felder durch diese Eigenschaft zur Verfügung gestellt werden sollte. Um das zu tun, Blick auf der MasterTableView.DataKeyNames Eigenschaft in dem Eigenschaftsfenster für das Raster. Sie im Grunde eine durch Kommata getrennte Liste von Feldnamen angeben.

Andere Tipps

Ich verwende das Telerik Gitter aus einiger Zeit und fand diese Artikel in ihren Dokumenten darüber, wie Daten aus ausgewähltem Zeilen-Server oder Client-Seite zu holen:

Server-Seite Client-side

Ich hoffe, Sie finden sie nützlich.

Dick

Die Server-Seite ist der einfache Teil:

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

Es ist der Client-Seite Teil, das weiß ich nicht! [

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");
}
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

Dies ist derjenige, der für mich arbeitet und verwendet die RadGrid.SelectedItems Sammlung.

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()));
        }
    }

Wenn Sie richtig Ihre Steuerelemente in Markup oder Seite init für dynamische Steuerelemente erstellt, dann wird der RadGrid richtig Zustand wiederherzustellen.

Sie können die Anfangswerte zugreifen, die unterhalb von der Datenquelle wie in diesem Beispiel geladen wurden, sofern Sie die Tabellenansicht in Frage, sagten die Spalten um in dem Datenschlüssel zu halten.

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 Vorlage Spalte verwenden und müssen auf beliebige Werte erhalten, die jetzt in ihren Staaten sein kann, können Sie:

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

   return ((TextBox)item.FindControl(controlID)).Text;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top