Asp.net Telerik RadGrid添加/编辑行性能问题
在Telerik RadGrid中,用户可以添加行并编辑现有行。看起来网格实际上强制在屏幕上呈现UI控件之前进行回发。我注意到从点击按钮到控件出现的时间有一秒到两秒的延迟。这似乎太长了一秒到两秒。这是我的代码,我不确定是什么错误 我为“whatz Worroz with me codez post”提前道歉,但这似乎是最简单的方法。同样,我遇到了一个性能问题,我想从需要调整的代码的角度来解决这个问题。…Asp.net Telerik RadGrid添加/编辑行性能问题,asp.net,performance,telerik,radgrid,Asp.net,Performance,Telerik,Radgrid,在Telerik RadGrid中,用户可以添加行并编辑现有行。看起来网格实际上强制在屏幕上呈现UI控件之前进行回发。我注意到从点击按钮到控件出现的时间有一秒到两秒的延迟。这似乎太长了一秒到两秒。这是我的代码,我不确定是什么错误 我为“whatz Worroz with me codez post”提前道歉,但这似乎是最简单的方法。同样,我遇到了一个性能问题,我想从需要调整的代码的角度来解决这个问题。… 只需检查几件事: 您是否复制gridPhone_NeedDataSource事件、ItemU
只需检查几件事: 您是否复制gridPhone_NeedDataSource事件、ItemUpdate、Deleted和Inserted事件以及本机Rad网格绑定behviour中的绑定行为(通过使用asp:SqlDataSource控件)?查看您的代码以了解您是否在后面是很有用的 网格中有多少记录?我发现,如果网格中有大量项目,并且启用了一些高级功能(我注意到您启用了行选择),那么网格将停止运行
如果这些都不适用于你的情况,那么可能值得查看他们网站的详细信息 我看到您正在使用
DataSourceID=“dsPhone”
和onneeddatasource=“gridPhone\u NeedDataSource”
不确定你是否两者都需要。另外,请确保不要在代码中的其他位置(加载页面或任何其他位置)执行DataBind(),因为您已经将OnnedDataSource事件附加到网格上了我需要查看。我相信函数是空的。谢谢!实际上,在回发上的Page_Load函数中可能有一些不应该运行的代码。稍后我将对此进行测试,看看它的性能如何。我还删除了特定的事件,比如NeedDataSource,因为那里没有代码。这是另一个应用程序的复制/粘贴实现:)谢谢!实际上,在回发上的Page_Load函数中可能有一些不应该运行的代码。稍后我将对此进行测试,看看它的性能如何。我还删除了特定的事件,比如NeedDataSource,因为那里没有代码。这是另一个应用程序的复制/粘贴实现:)
<asp:UpdatePanel ID="upPhone" runat="server">
<contenttemplate>
<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">
<MasterTableView DataKeyNames="phone_id" CommandItemDisplay="Top"
EditMode="InPlace" AllowFilteringByColumn="False">
<Columns>
<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
<ItemStyle CssClass="MyImageButton" />
</telerik:GridEditCommandColumn>
<telerik:GridBoundColumn DataField="phone_id" ReadOnly="true" UniqueName="phone_id"
Visible="false">
</telerik:GridBoundColumn>
<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">
</telerik:GridDropDownColumn>
<telerik:GridTemplateColumn HeaderText="Number" SortExpression="number" UniqueName="number">
<ItemTemplate>
<asp:Label runat="server" ID="lblPhoneNumber" Text='<%# Eval("number", "{0:(###) ###-####}") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtNumber" MaxLength="10" runat="server" Text='<%# Bind("number") %>'></asp:TextBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="description" UniqueName="description" HeaderText="Description">
</telerik:GridBoundColumn>
<telerik:GridCheckBoxColumn DataField="isprimary" UniqueName="isprimary" HeaderText="Primary"
DataType="System.Int16">
</telerik:GridCheckBoxColumn>
<telerik:GridButtonColumn ConfirmText="Delete this number?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
UniqueName="DeleteColumn">
<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
</telerik:GridButtonColumn>
</Columns>
<EditFormSettings>
<EditColumn UniqueName="EditCommandColumn1">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
</telerik:RadGrid>
<asp:ObjectDataSource ID="dsPhoneType" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetPhoneTypes"
TypeName="DataAccess"></asp:ObjectDataSource>
<asp:SqlDataSource ID="dsPhone" runat="server" ConnectionString="<%$ ConnectionStrings:TBD %>"
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">
<SelectParameters>
<asp:ControlParameter ControlID="lblID" Name="person_id" PropertyName="Text" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="phone_id" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="d_phone_type_id" Type="Int32" />
<asp:Parameter Name="number" Type="Int64" />
<asp:Parameter Name="description" Type="String" />
<asp:Parameter Name="isprimary" Type="Boolean" />
<asp:Parameter Name="phone_id" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:ControlParameter ControlID="lblID" Name="person_id" PropertyName="Text" />
<asp:Parameter Name="d_phone_type_id" Type="Int32" />
<asp:Parameter Name="number" Type="Int64" />
<asp:Parameter Name="description" Type="String" />
<asp:Parameter Name="isprimary" Type="Boolean" />
</InsertParameters>
</asp:SqlDataSource>
</contenttemplate>
</asp:UpdatePanel>