2013-05-02 82 views
1

我有一個使用RadGrid控件顯示數據的asp.net應用程序(由以前的開發人員創建)。但是,如果頁面上有RadGrid,RadGrid不會顯示數據。我刪除UpdatePanel後,radGrid很好地工作。如果我刪除UpdatePanel,那麼RadCombobox會提交整個頁面(而不是使用Ajax)。radGrid控件不顯示aspx頁面中的數據

有沒有辦法讓radGrid一起工作?背後

<asp:UpdatePanel ID="upnlFilter" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <span class="subHeader">VTRIP Log Search: </span> 
      <asp:Panel ID="Panel1" runat="server" BorderColor="#E3B391" BorderStyle="Solid" 
       BorderWidth="1" Width="994px"> 
       <div style="height:10px; width:994px"> 
       </div>     
        <table style="width: 974px; margin: 10px" border="0">           
        <tr> 
         <td width="200px"> 
          <telerik:RadComboBox ID="DriverDD" runat="server" Height="120px" Width="180px" 
           DropDownWidth="180px" EmptyMessage="Choose a Driver" 
           HighlightTemplatedItems="true" AutoPostBack="true" 
           AppendDataBoundItems="true" 
           onselectedindexchanged="DriverDD_SelectedIndexChanged" > 
          </telerik:RadComboBox> 
         </td> 

         <td width="220px"> 
          <asp:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" TargetControlID="txtDOS" 
           WatermarkText="Select today or any previous day" WatermarkCssClass="watermarked"> 
          </asp:TextBoxWatermarkExtender> 
          <asp:TextBox ID="txtDOS" runat="server" Width="200px" EnableViewState="true" CssClass="SetTextbox" 
           Height="20px" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"></asp:TextBox> 
          <asp:CalendarExtender ID="txtDOS_CalendarExtender" runat="server" Enabled="True" 
           TargetControlID="txtDOS"> 
          </asp:CalendarExtender> 
         </td> 
         <td style="width:350px">&nbsp;</td> 
        </tr> 
       </table> 
     </asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 

    <br/> 
     <telerik:RadGrid ID="RadGrid1" OnSortCommand="RadGrid1_SortCommand" 
OnPageIndexChanged="RadGrid1_PageIndexChanged" 
      Width="99%" Height="181px" OnPageSizeChanged="RadGrid1_PageSizeChanged" AllowSorting="True" 
      PageSize="5" AllowPaging="True" AllowMultiRowSelection="True" runat="server" 
      GridLines="None" AutoGenerateColumns="False"> 
      <MasterTableView Height="100px" Width="100%" Summary="RadGrid table"> 
       <CommandItemSettings ExportToPdfText="Export to PDF" /> 
       <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" 
        Visible="True"> 
       </RowIndicatorColumn> 
       <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" 
        Visible="True"> 
       </ExpandCollapseColumn> 
       <Columns> 
        <telerik:GridBoundColumn DataField="TripId" HeaderText="Trip ID" SortExpression="TripID" 
         UniqueName="TripID" 
         SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="MemberName" HeaderText="Member Name" SortExpression="MemberName" 
         UniqueName="MemberName" 
         SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="VehicleType" HeaderText="Vehicle Type" SortExpression="VehicleType" 
         UniqueName="VehicleType" 
         SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Status" HeaderText="Status" SortExpression="Status" 
         UniqueName="Status" 
         SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"> 
        </telerik:GridBoundColumn> 
       </Columns> 
       <EditFormSettings> 
        <EditColumn FilterControlAltText="Filter EditCommandColumn column"> 
        </EditColumn> 
       </EditFormSettings> 
       <PagerStyle PageSizeControlType="RadComboBox" /> 
      </MasterTableView> 
      <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> 
      <FilterMenu EnableImageSprites="False"> 
      </FilterMenu> 
     </telerik:RadGrid> 

代碼:(使用Grid - Simple Data Binding填充網格)

private void LoadData() 
{ 
    if (Session["TripMaster"] != null) 
    { 
     RadGrid1.DataSource = Session["TripMaster"]; 
     RadGrid1.DataBind(); 
    } 
} 
+0

你如何填充數據到RadGrid?你能把代碼發佈到後面嗎? – Win 2013-05-02 20:22:24

回答

2

你能移動RadGridUpdatePanel並再次嘗試嗎?

<asp:UpdatePanel ID="upnlFilter" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
    <span class="subHeader">VTRIP Log Search: </span> 
    <asp:Panel 
     .... 
    </asp:Panel> 
    <br/> 
    <telerik:RadGrid 
     .... 
    </telerik:RadGrid> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

沒有數據返回 – Csharp 2013-05-02 20:47:05

+0

您能否移除'UpdateMode ='有條件的''並且再試一次? – Win 2013-05-02 21:03:05

+0

那個工作。謝謝你的幫助 !! – Csharp 2013-05-03 12:54:30

2

您還可以使用RadAjaxManager通過此操作,您可以運行,你不會看到類AjaxPanel所有項目的完全回發和渲染。我們推薦使用這種方法,因爲它可以減少頁面上的控件,並更有針對性地更新控件。

刪除的UpdatePanel與標記添加RadAjaxManager到您的網頁是這樣的:

<telerik:RadAjaxManager runat="server" ID="ajaxMgr"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="DriverDD"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

...你應該看到了相同的結果,用更少的標記和事件的擔心。

最後,如果您使用的是2013 Q1 Q1 AJAX controls,我建議您將RadComboBox更改爲RadDropDownList。當您提供標準組合框時,此控件的標記明顯較少。另一個選項,用於減輕此控件生成的HTML的影響,將添加RenderMode="Lightweight"屬性,以使其生成現代瀏覽器支持的較小HTML佔用空間。

+0

這是很棒的信息,@Jeff。我會嘗試一下並讓你知道。謝謝。儘管我認爲,Telerik需要在文檔和支​​持論壇上做更好的工作。 – Csharp 2013-05-03 13:25:32

+0

您是指Stackoverflow還是Telerik支持論壇?根據您的支持合同,您將在論壇上獲得不同的SLA響應時間。 Stackoverflow不像Telerik論壇那樣被跟蹤所有這些信息都在內部被跟蹤 – 2013-05-03 14:19:05

+0

Stackoverflow已經讓我陷入了期待60秒內的迴應。 Telerik傾向於在5天后作出迴應,在我的世界裏,爲了按時交付項目太長了。將檢查我的SLA。 – Csharp 2013-05-03 14:22:47

相關問題