Hi. I need to create telerik grid that creates its columns automatically. Some of the columns can have mixed columns like below:
Name Surname Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
I try to create a table that its view like above. Also, I will create headers dynamically. How can I achieve this? I searched a bit of GirdTemplateColumn and ITemplate. Can anyone give me an idea?
Thanks in advance...
Name Surname Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
I try to create a table that its view like above. Also, I will create headers dynamically. How can I achieve this? I searched a bit of GirdTemplateColumn and ITemplate. Can anyone give me an idea?
Thanks in advance...
5 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 30 Oct 2013, 11:41 AM
Hi Saadettin,
Please try the following sample code snippet to create multicolumn headers programmatically.
ASPX:
C#:
Thanks,
Princy
Please try the following sample code snippet to create multicolumn headers programmatically.
ASPX:
<
asp:PlaceHolder
runat
=
"server"
ID
=
"PlaceHolder1"
/>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:Northwind_newConnectionString3 %>"
SelectCommand="SELECT [OrderID], [ShipCity], [ShipName], [ShipCountry] FROM [Orders]">
</
asp:SqlDataSource
>
C#:
RadGrid RadGrid1 =
new
RadGrid();
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = SqlDataSource1;
}
protected
void
Page_Init(
object
sender, EventArgs e)
{
GetGrid();
}
private
void
GetGrid()
{
RadGrid1.ID =
"RadGrid1"
;
GridBoundColumn cCode =
new
GridBoundColumn();
RadGrid1.MasterTableView.Columns.Add(cCode);
cCode.HeaderText =
"OrderID"
;
cCode.DataField =
"OrderID"
;
cCode.UniqueName =
"OrderID"
;
cCode.ReadOnly =
true
;
cCode.ItemStyle.Width = 50;
GridBoundColumn cDescription =
new
GridBoundColumn();
RadGrid1.MasterTableView.Columns.Add(cDescription);
cDescription.HeaderText =
"ShipName"
;
cDescription.DataField =
"ShipName"
;
cDescription.UniqueName =
"ShipName"
;
cDescription.ReadOnly =
true
;
cDescription.ItemStyle.Width = 250;
RadGrid1.Width = Unit.Pixel(600);
RadGrid1.AllowPaging =
true
;
RadGrid1.AutoGenerateColumns =
false
;
RadGrid1.Skin =
"Web20"
;
RadGrid1.NeedDataSource +=
new
GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource);
GridColumnGroup columnGroup =
new
GridColumnGroup();
columnGroup.Name =
"SingleAction"
;
columnGroup.HeaderText =
"Info"
;
RadGrid1.MasterTableView.ColumnGroups.Add(columnGroup);
GridBoundColumn column =
new
GridBoundColumn();
RadGrid1.MasterTableView.Columns.Add(column);
column.HeaderText =
"ShipCity"
;
column.UniqueName =
"ShipCity"
;
column.ColumnGroupName =
"SingleAction"
;
column.DataField =
"ShipCity"
;
column.ItemStyle.Width = 50;
GridBoundColumn column1 =
new
GridBoundColumn();
RadGrid1.MasterTableView.Columns.Add(column1);
column1.HeaderText =
"ShipCountry"
;
column1.UniqueName =
"ShipCountry"
;
column1.ColumnGroupName =
"SingleAction"
;
column1.DataField =
"ShipCountry"
;
column1.ItemStyle.Width = 50;
PlaceHolder1.Controls.Add(RadGrid1);
}
Thanks,
Princy
0
Saadettin
Top achievements
Rank 1
answered on 30 Oct 2013, 03:43 PM
Thanks. It worked.I want to ask one more question. I created table but now I did not export it to word or excel. How can I achieve this?Thanks.
0
Princy
Top achievements
Rank 2
answered on 31 Oct 2013, 07:05 AM
Hi Saadettin,
If you are Ajaxifying your RadGrid make sure you have disabled it during export. The exporting feature of the control work with regular postbacks only. I have added the following line of code to the above sample code, please try and let me know if any concern. Please provide your full code snippet if this doesn't help.
ASPX:
C#:
JS:
Thanks,
Princy
If you are Ajaxifying your RadGrid make sure you have disabled it during export. The exporting feature of the control work with regular postbacks only. I have added the following line of code to the above sample code, please try and let me know if any concern. Please provide your full code snippet if this doesn't help.
ASPX:
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
ClientEvents-OnRequestStart
=
"onRequestStart"
>
</
telerik:RadAjaxManager
>
C#:
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadAjaxManager1.AjaxSettings.AddAjaxSetting(RadGrid1, PlaceHolder1,
null
);
}
protected
void
Page_Init(
object
sender, EventArgs e)
{
GetGrid();
}
private
void
GetGrid()
{
RadGrid1.ID =
"RadGrid1"
;
. . . . .
RadGrid1.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top;
RadGrid1.MasterTableView.CommandItemSettings.ShowExportToExcelButton =
true
;
RadGrid1.MasterTableView.CommandItemSettings.ShowExportToWordButton =
true
;
RadGrid1.ExportSettings.ExportOnlyData =
true
;
RadGrid1.ExportSettings.IgnorePaging =
true
;
. . . . ..
}
JS:
<script type=
"text/javascript"
>
function
onRequestStart(sender, args) {
if
(args.get_eventTarget().indexOf(
"ExportTo"
) >= 0)
args.set_enableAjax(
false
);
}
</script>
Thanks,
Princy
0
Saadettin
Top achievements
Rank 1
answered on 31 Oct 2013, 07:47 AM
It worked. But there is one more issue.
Name Surname Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
For this grid, it was exported to word. But Name and Surname columns doesn't shown in word document. That is, in word document, it is shown like below :
Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
Why can it happen?
Name Surname Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
For this grid, it was exported to word. But Name and Surname columns doesn't shown in word document. That is, in word document, it is shown like below :
Info
Date Number
------------------------------------------------------------------------------
John White 4.4.2011 45
Tracey Dapt 5.4.2011 70
Why can it happen?
0
Princy
Top achievements
Rank 2
answered on 01 Nov 2013, 04:39 AM
Hi Saadettin,
I couldn't replicate the issue at my end. The headers are exporting fine at my end. Can you provide your full code snippet so that I may help to resolve the issue.
Thanks,
Princy
I couldn't replicate the issue at my end. The headers are exporting fine at my end. Can you provide your full code snippet so that I may help to resolve the issue.
Thanks,
Princy