Hi,
I have a Rad Grid with grid-bound columns and auto-generated columns. Now I want to swap a particular grid-bound field to the end of auto-generated columns.
I have visited the telerik forum. Only code I have found out is this:
protected void RadGrid1_PreRender(object sender, System.EventArgs e)
{
RadGrid1.MasterTableView.SwapColumns("AutoGeneratedColumn", "PreDefinedColumn");
}
As the auto-generated columns are dynamically taking data from database , it is not possible to give the name of the last auto-generated column name. Also to note,I have given the name of an auto-generated column.But it is not working.
Please help.
Regards
Purojit
I have a Rad Grid with grid-bound columns and auto-generated columns. Now I want to swap a particular grid-bound field to the end of auto-generated columns.
I have visited the telerik forum. Only code I have found out is this:
protected void RadGrid1_PreRender(object sender, System.EventArgs e)
{
RadGrid1.MasterTableView.SwapColumns("AutoGeneratedColumn", "PreDefinedColumn");
}
As the auto-generated columns are dynamically taking data from database , it is not possible to give the name of the last auto-generated column name. Also to note,I have given the name of an auto-generated column.But it is not working.
Please help.
Regards
Purojit
6 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 21 Jun 2013, 09:05 AM
Hi,
I have tried the swapping with autogenerated and bound columns,It works fine at my end.Please try the code snippet.For more evaluation,please provide your code.
ASPX:
C#:
Thanks,
Princy
I have tried the swapping with autogenerated and bound columns,It works fine at my end.Please try the code snippet.For more evaluation,please provide your code.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"true"
onprerender
=
"RadGrid1_PreRender"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
HeaderText
=
"OrderID"
UniqueName
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShippedDate"
HeaderText
=
"ShippedDate"
UniqueName
=
"ShippedDate"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
C#:
protected
void
RadGrid1_PreRender(
object
sender, EventArgs e)
{
RadGrid1.MasterTableView.SwapColumns(
"id"
,
"ShippedDate"
);
//("AutoGeneratedColumnName","BoundColumn")
}
Thanks,
Princy
0
Purojit
Top achievements
Rank 1
answered on 21 Jun 2013, 09:28 AM
Hi Princy,
Thanks for reply, but it is really not clear that what do I put on "id" on auto-generated columns. My autogenerated columns are populating directly from database.
Please help.
Regards
Purojit
Thanks for reply, but it is really not clear that what do I put on "id" on auto-generated columns. My autogenerated columns are populating directly from database.
Please help.
Regards
Purojit
0
Jayesh Goyani
Top achievements
Rank 2
answered on 21 Jun 2013, 10:20 AM
Hello,
Please try with below code snippet.
Thanks,
Jayesh Goyani
Please try with below code snippet.
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"true"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
OnPreRender
=
"RadGrid1_PreRender"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
UniqueName
=
"Total"
HeaderText
=
"Total"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
dynamic data =
new
[] {
new
{ ID = 1, Name =
"Name1"
},
new
{ ID = 2, Name =
"Name2"
},
new
{ ID = 3, Name =
"Name3"
},
new
{ ID = 4, Name =
"Name4"
},
new
{ ID = 5, Name =
"Name5"
},
new
{ ID = 26, Name =
"Name26"
}
};
RadGrid1.DataSource = data;
}
protected
void
RadGrid1_PreRender(
object
sender, EventArgs e)
{
RadGrid1.MasterTableView.SwapColumns(
"Total"
,
"Name"
);
}
Thanks,
Jayesh Goyani
0
Purojit
Top achievements
Rank 1
answered on 27 Jun 2013, 07:45 AM
Hi Jayesh,
Thanks for your help. My concern is that the auto-generated column names are to be generated as per database and has to be made dynamic. or else in case there is a change made or an addition occurs in database from the client side on the auto-generated columns, we have to implement this(
Regards
Purojit
Thanks for your help. My concern is that the auto-generated column names are to be generated as per database and has to be made dynamic. or else in case there is a change made or an addition occurs in database from the client side on the auto-generated columns, we have to implement this(
new
{ ID = .., Name =
"Name.."
}
) again. Regards
Purojit
0
Princy
Top achievements
Rank 2
answered on 27 Jun 2013, 08:39 AM
Hi,
You can swap any two columns using
RadGrid1.MasterTableView.SwapColumns("Column1","Column2") in the PreRender() event of the radgrid. The Order is not a problem.I have tried it on my side by using Autogenerated and Bound column.
Here CustomerID is a boundColumn and ShipName is AutoGenerated.
ASPX:
C#:
Thanks,
Princy
You can swap any two columns using
RadGrid1.MasterTableView.SwapColumns("Column1","Column2") in the PreRender() event of the radgrid. The Order is not a problem.I have tried it on my side by using Autogenerated and Bound column.
Here CustomerID is a boundColumn and ShipName is AutoGenerated.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
OnPreRender
=
"RadGrid2_PreRender"
AllowPaging
=
"true"
>
<
MasterTableView
AutoGenerateColumns
=
"True"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"CustomerID"
HeaderText
=
"CustomerID"
UniqueName
=
"CustomerID"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
C#:
protected
void
RadGrid2_PreRender(
object
sender, EventArgs e)
{
RadGrid1.MasterTableView.SwapColumns(
"CustomerID"
,
"ShipName"
);
// to swap two columns
}
Thanks,
Princy
0
IT Invoices
Top achievements
Rank 1
answered on 02 Oct 2013, 09:28 PM
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
If
RadGrid1.MasterTableView.AutoGeneratedColumns.Length > 2
Then
RadGrid1.MasterTableView.SwapColumns(
"columnName1"
,
"columnName2"
)
End
If
End
Sub
note: Dynamically Autogenerated Column is not accessible in the pre_render method.