This is a migrated thread and some comments may be shown as answers.

dataBind() in javascript (Q3 2011)

2 Answers 232 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rimani
Top achievements
Rank 1
Rimani asked on 26 Jan 2012, 09:55 AM
Hello
I have a problem since version Q3 2011  the following script does not work: 

radgrid loses all data see picture 

function updateGrid(result) 
{       
var tableView = $find("<%= rgInventaires.ClientID %>").get_masterTableView();
tableView.set_dataSource(result);
tableView.dataBind();
}

2 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 27 Jan 2012, 02:25 PM
Hello Rimani ,

please check below code snippet.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_1734880_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
    <script src="../Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
 
            function OnbuttonClient() {
 
                var GridData;
 
                jQuery.ajax({
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    data: '',
                    dataType: 'JSON',
                    url: 'Default.aspx/BindGrid',
                    success: function (result) {
 
                        GridData = result.d;
                        if (GridData.length > 0) {
 
                            var divGridContainer = document.getElementById('divGridContainer');
                            divGridContainer.style.display = "";
                            var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView();
                            tableView.set_dataSource(GridData);
                            tableView.dataBind();
                        }
                        else {
                            var divGridContainer = document.getElementById('divGridContainer');
                            divGridContainer.style.display = "none";
                        }
                    },
                    error: function () {
                        alert('Error on binding the data');
                    }
                });
 
                return false;
            }
       
        </script>
    </telerik:RadCodeBlock>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="RadScriptManager1" EnablePageMethods="true" runat="server">
        </telerik:RadScriptManager>
        <asp:Button ID="Button1" Text="Bind Grid" runat="server" OnClientClick="return OnbuttonClient();" />
        <div id="divGridContainer" style="display: none;">
            <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false">
                <MasterTableView HierarchyLoadMode="Client" DataKeyNames="ID,ParentID" ClientDataKeyNames="ID,ParentID">
                    <Columns>
                        <telerik:GridBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID">
                        </telerik:GridBoundColumn>
                    </Columns>
                </MasterTableView>
            </telerik:RadGrid>
        </div>
    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
 
public partial class _1734880_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
        if (!IsPostBack)
        {
            dynamic data = new[] {
                new { ID = "1", Name ="Name11",ParentID = "0"},
                new { ID = "2", Name ="Name11",ParentID = "0"},
                new { ID = "3", Name ="Name11",ParentID = "0"},
                new { ID = "4", Name ="Name11",ParentID = "0"}
            };
            RadGrid1.MasterTableView.DataSource = data;
            RadGrid1.DataBind();
 
 
        }
    }
 
    [WebMethod]
    public static List<Employee> BindGrid()
    {
        List<Employee> list = new List<Employee>(); ;
 
        Employee obj = new Employee();
        obj.ID = "1";
        obj.ParentID = "0";
        obj.Name = "Name1";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "2";
        obj.ParentID = "0";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "4";
        obj.ParentID = "1";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "5";
        obj.ParentID = "1";
        obj.Name = "Name2";
        list.Add(obj);
         
        obj = new Employee();
        obj.ID = "6";
        obj.ParentID = "2";
        obj.Name = "Name2";
        list.Add(obj);
 
       
 
        obj = new Employee();
        obj.ID = "11";
        obj.ParentID = "2";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "12";
        obj.ParentID = "2";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "7";
        obj.ParentID = "2";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "13";
        obj.ParentID = "2";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "9";
        obj.ParentID = "0";
        obj.Name = "Name2";
        list.Add(obj);
 
        obj = new Employee();
        obj.ID = "3";
        obj.ParentID = "1";
        obj.Name = "Name2";
        list.Add(obj);
 
 
        obj = new Employee();
        obj.ID = "8";
        obj.ParentID = "0";
        obj.Name = "Name2";
        list.Add(obj);
 
        return list;
    }
 
 
}
 
public class Employee
{
    public string ID { get; set; }
    public string Name { get; set; }
    public string ParentID { get; set; }
}


Thanks,
Jayesh Goyani
0
Rimani
Top achievements
Rank 1
answered on 27 Jan 2012, 03:50 PM
it works
thank you very much 
Tags
Grid
Asked by
Rimani
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Rimani
Top achievements
Rank 1
Share this question
or