This is a migrated thread and some comments may be shown as answers.

Can't find column

1 Answer 124 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Dennis
Top achievements
Rank 1
Dennis asked on 05 May 2011, 06:12 PM
I have a RadGrid in a page, and the header text for the columns is set dynamically in the PreRender event so that localization can occur.

I added three new columns to the grid, and for some reasion when I try to find these columns by their UniqueName, an exception is thrown.  If I comment out the call to the three new columns, the problem goes away. If I add any one of the three new columns back, the problem returns.  The problem occurs with the columns "OrderDate", "OrderNo", "PONumber"

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" AllowPaging="false"
            AllowSorting="false" Skin="Simple" EnableEmbeddedSkins="false" Width="100%"
            OnNeedDataSource="RadGrid1_NeedDataSource" 
            OnItemDataBound="RadGrid1_ItemDataBound"
            OnDataBound="RadGrid1_DataBound"
            OnPreRender="RadGrid1_PreRender">
            <MasterTableView TableLayout="Fixed">
                <Columns>
                    <telerik:GridBoundColumn DataField="LineItemId" Visible="false" UniqueName="LineItemId"></telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="OrderLinePOSID" Visible="false" UniqueName="OrderLinePOSID"></telerik:GridBoundColumn>
                      
                    <telerik:GridTemplateColumn UniqueName="LineNumber" Visible="false">
                      <ItemTemplate>
                        <asp:Label runat="server" ID="lblLineNumber" />
                        <asp:Label runat="server" ID="lblLineAssociation" />
                      </ItemTemplate>
                    </telerik:GridTemplateColumn>
                      
                    <telerik:GridTemplateColumn UniqueName="DisplayName">
                        <ItemTemplate>
                            <asp:Label runat="server" ID="LevelLabel" Text="   > " Visible="false"><img alt=" "src="/partner/gfx/POS_RelatedItem.gif" /></asp:Label>
                              
                            <asp:HyperLink runat="server" ID="ProductLink" TabIndex="-1"></asp:HyperLink>
                            <div class="posItemInfo" runat="server" id="AdditionalInfoContaner">
                                <asp:Label runat="server" ID="AdditionalInfoLabel"></asp:Label>
                            </div>
                              
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                      
                    <telerik:GridBoundColumn DataField="OrderDate" UniqueName="OrderDate"></telerik:GridBoundColumn>
                      
                    <telerik:GridBoundColumn DataField="OrderNo" UniqueName="OrderNo"></telerik:GridBoundColumn>
                      
                    <telerik:GridBoundColumn DataField="PONumber" UniqueName="PONumber"></telerik:GridBoundColumn>
                      
                    <telerik:GridBoundColumn DataField="Qty" UniqueName="Qty" HeaderStyle-Width="70"></telerik:GridBoundColumn>
                      
                    <telerik:GridTemplateColumn UniqueName="EndUser">
                        <HeaderStyle Width="274px" />
                        <ItemTemplate>
                            <asp:DropDownList runat="server" ID="EndUserList" Width="250" CssClass="partnerform"></asp:DropDownList>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                      
                      
                    <telerik:GridTemplateColumn UniqueName="Actions" ShowFilterIcon="false">
                        <HeaderStyle Width="80px" />
                        <ItemTemplate>
                            <asp:Button runat="server" ID="SplitButton"/>
                              
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                  
                </Columns>
                  
                <NoRecordsTemplate>
                    <br />
                    <%= _noItemsText %>
                </NoRecordsTemplate>
            </MasterTableView>
        </telerik:RadGrid>


protected void RadGrid1_PreRender(object source, EventArgs e)
    {
        RadGrid1.Columns.FindByUniqueName("DisplayName").HeaderText = _objGenericFormListProvider.FindValue("PartNumber");
        RadGrid1.Columns.FindByUniqueName("OrderDate").HeaderText = "????";
        RadGrid1.Columns.FindByUniqueName("OrderNo").HeaderText = "!!!!";
        RadGrid1.Columns.FindByUniqueName("PONumber").HeaderText = "****";
        RadGrid1.Columns.FindByUniqueName("Qty").HeaderText = _objGenericFormListProvider.FindValue("Quantity");
        RadGrid1.Columns.FindByUniqueName("EndUser").HeaderText = _objGenericFormListProvider.FindValue("EndUser");
    }

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 06 May 2011, 05:47 AM
Hello Dennis,

Try the following code snippet. Hope this helps you.

C#:
protected void RadGrid1_PreRender(object sender, EventArgs e)
{
   RadGrid1.MasterTableView.GetColumn(
"ColumnUniqueName").HeaderText = "header";
   RadGrid1.Rebind();
}
 


Thanks,
Princy.
Tags
Grid
Asked by
Dennis
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or