title: Telerik RadGrid Add/Edit Row Performance Issue
body: <p>In a Telerik RadGrid, the user has the ability to add a row and edit an existing one.  It appears that the grids actually force a postback to occur before the UI controls are rendered on the screen.  I'm noticing a second to two seconds delay from the time the button is clicked to the time the controls appear.  This seems about a second to two seconds too long.  Here is my code, I'm not exactly sure what the bug is.</p>
  
  <p><strong><em>I apologize in advance for the "whatz wrongz with me codez post", but this seems like the easiest way to go about this one.  Again, I have a performance issue and would like to figure out how to solve it in terms of what code needs to be tweaked.....</em></strong></p>
  
  <pre><code>&lt;asp:UpdatePanel ID="upPhone" runat="server"&gt;
      &lt;contenttemplate&gt;
              &lt;telerik:RadGrid runat="server" ID="gridPhone" DataSourceID="dsPhone" AutoGenerateColumns="False"
                  Width="100%" AllowAutomaticDeletes="True" AllowAutomaticInserts="True"
                  GridLines="None" Skin="Vista" AllowAutomaticUpdates="True" 
                  ondatabound="gridPhone_DataBound" onitemdeleted="gridPhone_ItemDeleted" 
                  oniteminserted="gridPhone_ItemInserted" 
                  onitemupdated="gridPhone_ItemUpdated" 
                  onneeddatasource="gridPhone_NeedDataSource"&gt;
                  &lt;MasterTableView DataKeyNames="phone_id" CommandItemDisplay="Top" 
                      EditMode="InPlace" AllowFilteringByColumn="False"&gt;
                      &lt;Columns&gt;
                          &lt;telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"&gt;
                              &lt;ItemStyle CssClass="MyImageButton" /&gt;
                          &lt;/telerik:GridEditCommandColumn&gt;
                          &lt;telerik:GridBoundColumn DataField="phone_id" ReadOnly="true" UniqueName="phone_id"
                              Visible="false"&gt;
                          &lt;/telerik:GridBoundColumn&gt;
                          &lt;telerik:GridDropDownColumn DataField="d_phone_type_id" DataSourceID="dsPhoneType"
                              UniqueName="d_phone_type_id" DataType="System.Int32" ListValueField="d_phone_type_id"
                              ListTextField="name" HeaderText="Type"&gt;
                          &lt;/telerik:GridDropDownColumn&gt;
                          &lt;telerik:GridTemplateColumn HeaderText="Number" SortExpression="number" UniqueName="number"&gt;
                              &lt;ItemTemplate&gt;
                                  &lt;asp:Label runat="server" ID="lblPhoneNumber" Text='&lt;%# Eval("number", "{0:(###) ###-####}") %&gt;'&gt;&lt;/asp:Label&gt;
                              &lt;/ItemTemplate&gt;
                              &lt;EditItemTemplate&gt;
                                  &lt;asp:TextBox ID="txtNumber" MaxLength="10" runat="server" Text='&lt;%# Bind("number") %&gt;'&gt;&lt;/asp:TextBox&gt;
  
                              &lt;/EditItemTemplate&gt;
                          &lt;/telerik:GridTemplateColumn&gt;
                          &lt;telerik:GridBoundColumn DataField="description" UniqueName="description" HeaderText="Description"&gt;
                          &lt;/telerik:GridBoundColumn&gt;
                          &lt;telerik:GridCheckBoxColumn DataField="isprimary" UniqueName="isprimary" HeaderText="Primary"
                              DataType="System.Int16"&gt;
                          &lt;/telerik:GridCheckBoxColumn&gt;
                          &lt;telerik:GridButtonColumn ConfirmText="Delete this number?" ConfirmDialogType="RadWindow"
                              ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                              UniqueName="DeleteColumn"&gt;
                              &lt;ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /&gt;
                          &lt;/telerik:GridButtonColumn&gt;
                      &lt;/Columns&gt;
                      &lt;EditFormSettings&gt;
                          &lt;EditColumn UniqueName="EditCommandColumn1"&gt;
                          &lt;/EditColumn&gt;
                      &lt;/EditFormSettings&gt;
                  &lt;/MasterTableView&gt;
                  &lt;ClientSettings&gt;
                      &lt;Selecting AllowRowSelect="True" /&gt;
                  &lt;/ClientSettings&gt;
              &lt;/telerik:RadGrid&gt;
              &lt;asp:ObjectDataSource ID="dsPhoneType" runat="server" 
                  OldValuesParameterFormatString="original_{0}" SelectMethod="GetPhoneTypes" 
                  TypeName="DataAccess"&gt;&lt;/asp:ObjectDataSource&gt;
              &lt;asp:SqlDataSource ID="dsPhone" runat="server" ConnectionString="&lt;%$ ConnectionStrings:TBD %&gt;"
                  DeleteCommand="DELETE FROM [phone] WHERE [phone_id] = @phone_id" InsertCommand="INSERT INTO [phone] ([person_id],[d_phone_type_id], [number], [description], [isprimary]) VALUES (@person_id,@d_phone_type_id, @number, @description, @isprimary)"
                  SelectCommand="get_PhoneById" UpdateCommand="UPDATE [phone] SET [d_phone_type_id] = @d_phone_type_id, [number] = @number, [description] = @description, [isprimary] = @isprimary WHERE [phone_id] = @phone_id"
                  SelectCommandType="StoredProcedure"&gt;
                  &lt;SelectParameters&gt;
                      &lt;asp:ControlParameter ControlID="lblID" Name="person_id" PropertyName="Text" Type="Int32" /&gt;
                  &lt;/SelectParameters&gt;
                  &lt;DeleteParameters&gt;
                      &lt;asp:Parameter Name="phone_id" Type="Int32" /&gt;
                  &lt;/DeleteParameters&gt;
                  &lt;UpdateParameters&gt;
                      &lt;asp:Parameter Name="d_phone_type_id" Type="Int32" /&gt;
                      &lt;asp:Parameter Name="number" Type="Int64" /&gt;
                      &lt;asp:Parameter Name="description" Type="String" /&gt;
                      &lt;asp:Parameter Name="isprimary" Type="Boolean" /&gt;
                      &lt;asp:Parameter Name="phone_id" Type="Int32" /&gt;
                  &lt;/UpdateParameters&gt;
                  &lt;InsertParameters&gt;
                      &lt;asp:ControlParameter ControlID="lblID" Name="person_id" PropertyName="Text" /&gt;
                      &lt;asp:Parameter Name="d_phone_type_id" Type="Int32" /&gt;
                      &lt;asp:Parameter Name="number" Type="Int64" /&gt;
                      &lt;asp:Parameter Name="description" Type="String" /&gt;
                      &lt;asp:Parameter Name="isprimary" Type="Boolean" /&gt;
                  &lt;/InsertParameters&gt;
              &lt;/asp:SqlDataSource&gt;
          &lt;/contenttemplate&gt;
  &lt;/asp:UpdatePanel&gt;
  </code></pre>