C#, telerik grid-Zelle mit dem Wert aus Spalte Vorlage

Ich habe ein grid-template-Spalte, die wie folgt definiert( um Zeit zu sparen und Raum werde ich nur die Spalte):

<telerik:GridTemplateColumn HeaderText="Id" Reorderable="true" SortExpression="Id" UniqueName="Id" DataField="Id">
                    <ItemTemplate>
                        <asp:Label ID="lblId" runat="server" Text='<%# Eval("Id") %>' />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox ID="txbId" Width="50px" runat="server" TextMode="SingleLine"
                            Text='<%# Bind("Id") %>' />
                    </EditItemTemplate>
                    <ItemStyle VerticalAlign="Top" />
             </telerik:GridTemplateColumn>

Und ich wollen auf das PreRender-Ereignis, zu extrahieren Sie den Wert dieser Spalte

protected void RadGrid1_PreRender(object sender, System.EventArgs e)
    {
        //string selectedItem = ((GridDataItem)RadGrid1.SelectedItems[0])["Id"].Text;
        foreach (GridDataItem item in RadGrid1.Items)
        {
            //not working
            string k = item["Id"].Text;//is empty string 
            string key = (item["Id"].TemplateControl.FindControl("lblId") as RadTextBox).Text;//null pointer
}

Irgendeine Idee wie es zu lösen ist?

Thx a lot.

Kannst du das während Daten-Bindung, so dass Sie Zugriff auf jedes Element, wie es gebunden ist?
Ich werde es versuchen, aber wäre schön, habe es auf prerender, denn ich brauche zum ändern der QuickInfo für einige Spalten basierend auf den Wert aus der DB, und das ist nur möglich auf prerender!?. Die Komplikation kommt, wenn ich versuche, eine Vorlage verwenden, die Spalte :/

InformationsquelleAutor alinnemet | 2011-05-06

Schreibe einen Kommentar