I create columns of my grid dynamically on the server side. These are not created on the client side.
I need to check the name of the first column to this radgrid.
How is this possible ?
I actually tried
var gridID = $find("<%=RadgridDataAval.ClientID %>");
var x = gridID.get_masterTableView().getColumnByUniqueName("Error");
if (x)
alert ("exists");
else
alert("doesnt exist");
Error is the name of one of the columns of the grid. However, says it doesn't exist
Also, I don't know if we have examples that show how to fetch colulmn name of a particular column in the mastertableview on the client side.
SOS
thanks,
Jas
                                I need to check the name of the first column to this radgrid.
How is this possible ?
I actually tried
var gridID = $find("<%=RadgridDataAval.ClientID %>");
var x = gridID.get_masterTableView().getColumnByUniqueName("Error");
if (x)
alert ("exists");
else
alert("doesnt exist");
Error is the name of one of the columns of the grid. However, says it doesn't exist
Also, I don't know if we have examples that show how to fetch colulmn name of a particular column in the mastertableview on the client side.
SOS
thanks,
Jas
10 Answers, 1 is accepted
0
                                
                                                    Shinu
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 08 Dec 2008, 05:04 AM
                                            
                                        Hi Jas,
I tried this on my end and it is working fine. Have you set the correct column UniqueName? I would suggest you send your aspx code.
Here is the code I tried.
ASPX:
    
CS:
    
JS:
    
Thanks
Shinu.
                                        I tried this on my end and it is working fine. Have you set the correct column UniqueName? I would suggest you send your aspx code.
Here is the code I tried.
ASPX:
| <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" GridLines="None"> | 
| <MasterTableView> | 
| </MasterTableView> | 
| </telerik:RadGrid> | 
CS:
| protected void Page_Load(object sender, EventArgs e) | 
| { | 
| if (!IsPostBack) | 
| { | 
| RadGrid1.DataSourceID ="SqlDataSource1"; | 
| RadGrid1.Width = Unit.Percentage(98); | 
| RadGrid1.PageSize = 5; | 
| RadGrid1.AllowPaging = true; | 
| RadGrid1.AutoGenerateColumns = false; | 
| RadGrid1.Skin = "Web20"; | 
| RadGrid1.MasterTableView.PageSize = 15; | 
| RadGrid1.MasterTableView.Width = Unit.Percentage(100); | 
| //Add GridBoundColumn | 
| GridBoundColumn boundColumn; | 
| boundColumn = new GridBoundColumn(); | 
| RadGrid1.MasterTableView.Columns.Add(boundColumn); | 
| boundColumn.DataField = "ProductName"; | 
| boundColumn.HeaderText = "ProductName"; | 
| boundColumn.UniqueName = "ProductName"; | 
| } | 
| } | 
JS:
| <script type="text/javascript"> | 
| function ShowColumnName() | 
| { | 
| alert('Hi'); | 
| var gridID = $find("<%=RadGrid1.ClientID %>"); | 
| var x = gridID.get_masterTableView().getColumnByUniqueName("ProductName"); | 
| if (x) | 
| alert ("exists"); | 
| else | 
| alert("doesnt exist"); | 
| } | 
| </script> | 
Thanks
Shinu.
0
                                
                                                    Jas
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 08 Dec 2008, 05:13 AM
                                            
                                        Hi Shinu,
Actually I create a data table on the server side .
DataTable ddt = new DataTable();
ddt.Columns.Add("ERRORCODE", typeof(string));
and then set the data source of my radgrid equals to this data table.
Then does it really set the unique name for the radgrid columns if i create my radgrid like this ?
Just wondering . I really don't do it the way you created columns
Thanks,
Jas
                                        Actually I create a data table on the server side .
DataTable ddt = new DataTable();
ddt.Columns.Add("ERRORCODE", typeof(string));
and then set the data source of my radgrid equals to this data table.
Then does it really set the unique name for the radgrid columns if i create my radgrid like this ?
Just wondering . I really don't do it the way you created columns
Thanks,
Jas
0
                                
                                                    Jas
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 08 Dec 2008, 05:26 AM
                                            
                                        Also,
how do i get the name of all the columns of the radgrid on client side ? is there any way to do that ?
Thanks
Jas
                                        how do i get the name of all the columns of the radgrid on client side ? is there any way to do that ?
Thanks
Jas
0
                                
                                                    Princy
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 08 Dec 2008, 10:54 AM
                                            
                                        Hi Jas,
I guess you have set AutoGenerateColumns to true. If so the name of the column will be the Column UniqueName.
You can access all the columns in a Grid on the client side as shown below.
ASPX:
    
JS:
    
Regards
Princy
                                        I guess you have set AutoGenerateColumns to true. If so the name of the column will be the Column UniqueName.
You can access all the columns in a Grid on the client side as shown below.
ASPX:
| <input id="Button1" type="button" onclick="GetColumnNames();" value="button" /> | 
JS:
| <script type="text/javascript"> | 
| function GetColumnNames() | 
| { | 
| var grid = $find("<%=RadGrid1.ClientID %>"); | 
| var columnCount = grid.get_masterTableView().get_columns().length; | 
| for(var i=0;i<columnCount;i++) | 
| { | 
| var UniqueName=grid.get_masterTableView().get_columns()[i].get_uniqueName(); | 
| alert(UniqueName) | 
| } | 
| } | 
| </script> | 
Regards
Princy
0
                                
                                                    Achuthan
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 15 Oct 2012, 08:37 AM
                                            
                                        Hi,
how do i get the name of all the columns of the radgrid in C#?
protected void RadGrid1_DataBound(object sender, EventArgs e)
{
// Here i am trying to access the column names of Radgrid for implement the Multiple column header.
         
var count= RadGrid1.Columns.Count;
         
//but the count value is always zero.
   
}
                                        how do i get the name of all the columns of the radgrid in C#?
protected void RadGrid1_DataBound(object sender, EventArgs e)
{
// Here i am trying to access the column names of Radgrid for implement the Multiple column header.
var count= RadGrid1.Columns.Count;
//but the count value is always zero.
}
0
                                
                                                    Shinu
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 15 Oct 2012, 08:48 AM
                                            
                                        Hi,
You can loop through the columns as shown below.
C#:
Thanks,
Shinu.
                                        You can loop through the columns as shown below.
C#:
protected void Button1_Click(object sender, EventArgs e){  foreach (GridColumn col in RadGrid1.Columns)  {    string value = col.UniqueName.ToString();  }}Thanks,
Shinu.
0
                                
                                                    Sheshagiri
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 15 Sep 2014, 09:48 AM
                                            
                                        Hi, 
I have two table like Task and Task History, with different column names for key reference(taskID(primary key in Task) and taskhID(foreign key in Task History) i want to bind this two table to rad grid.
 
Problem is,
while binding if i use taskhID, then
protected void radgv_OnDetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataitem = (GridDataItem)e.DetailTableView.ParentItem;
if (e.DetailTableView.Name == "TaskHistory")
{
string id = dataitem.GetDataKeyValue("taskhID").ToString(); //error: Object reference not set to an instance of an object
e.DetailTableView.DataSource = GetDataTable("SELECT * FROM TaskHistory where taskhID= '" + id + "'");
}
Becouse column "taskID" is not exit in Table TaskHistory.
Please tell me the solution.
                                        I have two table like Task and Task History, with different column names for key reference(taskID(primary key in Task) and taskhID(foreign key in Task History) i want to bind this two table to rad grid.
Problem is,
while binding if i use taskhID, then
protected void radgv_OnDetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
GridDataItem dataitem = (GridDataItem)e.DetailTableView.ParentItem;
if (e.DetailTableView.Name == "TaskHistory")
{
string id = dataitem.GetDataKeyValue("taskhID").ToString(); //error: Object reference not set to an instance of an object
e.DetailTableView.DataSource = GetDataTable("SELECT * FROM TaskHistory where taskhID= '" + id + "'");
}
Becouse column "taskID" is not exit in Table TaskHistory.
Please tell me the solution.
0
                                Hello Sheshagiri,
Can you please verify that the taskhID field is included in the DataKeyNames of the corresponding table view?
http://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/programmatic-hierarchy/defaultcs.aspx?#qsf-demo-source
Looking forward to your reply.
Regards,
Eyup
Telerik 
 
                                        Can you please verify that the taskhID field is included in the DataKeyNames of the corresponding table view?
http://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/programmatic-hierarchy/defaultcs.aspx?#qsf-demo-source
Looking forward to your reply.
Regards,
Eyup
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
0
                                
                                                    n/a
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 27 Sep 2019, 06:00 AM
                                            
                                        Can you solved problem.
I have the same question.
this.RadGrid1.Columns.Count = 0
0
                                Hello,
Try using the RenderColumns collection of the MasterTableView instance to traverse the grid columns:
https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/how-to/Common/using-the--getitems-getcolumn-and-getcolumnsafe-methods#columns
I hope this will prove helpful. Feel free to give it a try and let me know if it works for you.
Regards,
 
Eyup
 Progress Telerik
    
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
