2009-11-03 43 views
0

我在我的页面上有一个弧形网格和一个rad标签条,要求是当用户点击rad网格中的任意一行时,特定行的所有细节都必须填入rad标签条。我填充rad标签条的函数是用jquery编写的。我的问题是如何获得弧形网格中的物品。我写了Rad Grid + jquery

var grid = $find("RadGrid1") 

var items = grid.items.count; 

它给了我一个错误。我怎样才能解决这个问题?

回答

0

尝试封装的var grid = $find("RadGrid1")在$(文件)。就绪()函数的

$(document).ready(function() { 
    var grid = $find("RadGrid1"); 
}); 

到ASP.NET对象的客户端引用的页面生成的最后的创建,所以你必须等到做到这一点之前,$找到可以给你你正在寻找

2

您可以通过使用MasterTableView.ClientDataKeyNames属性来指定要访问的键,以访问所选项目的值。您可以通过调用getDataKeyValues("KeyName")访问客户端OnRowSelected事件期间的值。这里有一个例子:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RadGridCustomFooter._Default" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>RadGrid Example</title> 
    <script src="Scripts/jquery-1.3.2.js" type="text/javascript"></script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> 
     <telerik:RadGrid ID="rgCustomers" runat="server" Skin="Black" 
      AllowPaging="true" 
      AllowSorting="true" 
      PageSize="8"> 
      <ClientSettings> 
       <ClientEvents OnRowSelected="grid_rowSelected" /> 
       <Selecting AllowRowSelect="true" /> 
      </ClientSettings> 
      <MasterTableView 
       ClientDataKeyNames="ID,Name,Address,Sales"> 
       <Columns> 
        <telerik:GridBoundColumn 
         DataField="ID" 
         UniqueName="ID"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn 
         DataField="Name" 
         UniqueName="Name"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn 
         DataField="Address" 
         UniqueName="Address"> 
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn 
         DataField="Sales" 
         DataFormatString="{0:C}" 
         UniqueName="Sales"> 
        </telerik:GridBoundColumn> 
       </Columns> 
      </MasterTableView> 
      <SelectedItemStyle CssClass="none" /> 
     </telerik:RadGrid>   
     <div id="results"></div> 

     <script type="text/javascript"> 
      function grid_rowSelected(sender, args) { 
       var id = args.getDataKeyValue("ID"); 
       var name = args.getDataKeyValue("Name"); 
       var address = args.getDataKeyValue("Address"); 
       var sales = args.getDataKeyValue("Sales"); 
       var selectedValues = String.format("ID: {0}, Name: {1}, Address: {2}, Sales: {3}", id, name, address, sales); 
       $('#results').html(selectedValues); 
      } 
     </script> 
    </form> 
</body> 
</html> 

而这里的隐藏代码:

using System; 
using Telerik.Web.UI; 

namespace RadGridCustomFooter 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected override void OnInit(EventArgs e) 
     { 
      base.OnInit(e); 
      rgCustomers.NeedDataSource += new GridNeedDataSourceEventHandler((s, a) => 
      { 
       var customers = new[] { 
        new { ID = 1, Name = "Acme Products", Address = "123 Maple Drive", Sales = 23450 }, 
        new { ID = 2, Name = "Northwind", Address = "1 First Street", Sales = 11569 }, 
        new { ID = 3, Name = "Alverson Utilities", Address = "890 Union Avenue", Sales = 78232 }, 
        new { ID = 4, Name = "Creative Solutions", Address = "91223 Texas Drive", Sales = 110058 }, 
        new { ID = 5, Name = "Northwind", Address = "1 First Street", Sales = 11569 }, 
        new { ID = 6, Name = "Alverson Utilities", Address = "890 Union Avenue", Sales = 78232 }, 
        new { ID = 7, Name = "Northwind", Address = "1 First Street", Sales = 11569 }, 
        new { ID = 8, Name = "Acme Products", Address = "123 Maple Drive", Sales = 23450 }, 
        new { ID = 9, Name = "Creative Solutions", Address = "91223 Texas Drive", Sales = 110058 }, 
        new { ID = 10, Name = "Northwind", Address = "1 First Street", Sales = 11569 }, 
        new { ID = 11, Name = "Alverson Utilities", Address = "890 Union Avenue", Sales = 78232 }, 
        new { ID = 12, Name = "Acme Products", Address = "123 Maple Drive", Sales = 23450 }, 
        new { ID = 13, Name = "Creative Solutions", Address = "91223 Texas Drive", Sales = 110058 } 
       }; 
       ((RadGrid)s).DataSource = customers; 
      }); 
     } 
    } 
} 

退房的documentation here了解更多详情。