2011-03-14 141 views
4

Telerik Rad控件在浏览器中显示为一条直线。但在Visual Studio设计中它正确显示。Telerik Radgrid在浏览器中不显示

<telerik:RadGrid ID="RadGrid1" runat="server" 
     onneeddatasource="RadGrid1_NeedDataSource"> 
    <MasterTableView ShowHeadersWhenNoRecords="false" AutoGenerateColumns="true"> 
    <NoRecordsTemplate> 
    <div>There are no records to display</div> 
    </NoRecordsTemplate> 
</MasterTableView> 

    </telerik:RadGrid> 

一些可以请帮我在这

+0

数据源中是否有任何数据?如果您在数据源为空时执行“查看源代码”,您是否可以看到div存在? – CyberDude 2011-03-15 14:02:14

回答

6

如果“RadGrid1”的数据源是没有什么/空控制有效没有绑定,即使数据绑定()被调用。可以将空集合绑定到控件,以便显示NoRecordsTemplate。

在VB.net:
RadGrid1.DataSource = new Object() {}

在C#:

RadGrid1.DataSource = new object[] { }; 
+0

不错的简单解决方案 – Jeremy 2013-01-16 02:32:30

0

有你需要设置第一,以显示任何数据模板的几件事情,首先你需要一个实际的数据返回null或空的源代码,如果你只是为了检查目的而做这件事,并希望避免实际的数据源,那么ItsPete提供的代码是很好的。您还需要在MasterTableView标记中放置EnableNoRecordsTemplate =“true”。

看看这段代码。

<telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" 
    DataSourceID="SqlDataSource1"> 
<MasterTableView EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="false" 
     AutoGenerateColumns="False" datakeynames="ID" datasourceid="SqlDataSource1"> 
<NoRecordsTemplate> 
No Data Found. 
</NoRecordsTemplate> 
    <Columns> 
     <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" 
      DefaultInsertValue="" HeaderText="ID" ReadOnly="True" SortExpression="ID" 
      UniqueName="ID"> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn DataField="NAME" DefaultInsertValue="" 
      HeaderText="NAME" SortExpression="NAME" UniqueName="NAME"> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn DataField="PASSWORD" DefaultInsertValue="" 
      HeaderText="PASSWORD" SortExpression="PASSWORD" UniqueName="PASSWORD"> 
     </telerik:GridBoundColumn> 
     <telerik:GridBoundColumn DataField="DEPARTMENT" DefaultInsertValue="" 
      HeaderText="DEPARTMENT" SortExpression="DEPARTMENT" UniqueName="DEPARTMENT"> 
     </telerik:GridBoundColumn> 
    </Columns> 
</MasterTableView> 
</telerik:RadGrid> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:Conn %>" 
    SelectCommand="SELECT * from Users WHERE ID = '0'"> 
</asp:SqlDataSource> 

这里的数据列是无关紧要的(仅举例)。有关RadGrid的更多信息,请访问“Tips for using the RadGrid - Empty Data Message”。