Hello,
I have a RadGrid with a SGridButtonColumn column that display numbers that could be equal zero or any integer bigger than zero.
I want to display in footer a total of zeros and total for non zero numbers(How many Zeros i have and how many non zeros i have).
How can i achieve such functionality ?
I have a RadGrid with a SGridButtonColumn column that display numbers that could be equal zero or any integer bigger than zero.
I want to display in footer a total of zeros and total for non zero numbers(How many Zeros i have and how many non zeros i have).
How can i achieve such functionality ?
4 Answers, 1 is accepted
0

Jayesh Goyani
Top achievements
Rank 2
answered on 01 Mar 2013, 08:51 AM
Hello,
Thanks,
Jayesh Goyani
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"False"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
ShowFooter
=
"true"
PageSize
=
"10"
OnItemDataBound
=
"RadGrid1_ItemDataBound"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
UniqueName
=
"ID"
HeaderText
=
"ID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Name"
UniqueName
=
"Name"
HeaderText
=
"Name"
>
</
telerik:GridBoundColumn
>
<
telerik:GridEditCommandColumn
>
</
telerik:GridEditCommandColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
dynamic data =
new
[] {
new
{ ID = 0, Name =
"Name1"
,path=
"1.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(1)},
new
{ ID = 0, Name =
"Name2"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(2)},
new
{ ID = 3, Name =
"Name3"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(3)},
new
{ ID = 4, Name =
"Name4"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(4)},
new
{ ID = 5, Name =
"Name5"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(5)},
new
{ ID = 6, Name =
"Name1"
,path=
"1.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(6)},
new
{ ID = 7, Name =
"Name2"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(7)},
new
{ ID = 8, Name =
"Name3"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(8)},
new
{ ID = 9, Name =
"Name4"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(9)},
new
{ ID = 10, Name =
"Name5"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(10)},
new
{ ID = 11, Name =
"Name1"
,path=
"1.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(11)},
new
{ ID = 12, Name =
"Name2"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(12)},
new
{ ID = 13, Name =
"Name3"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(13)},
new
{ ID = 14, Name =
"Name4"
,path=
"2.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(14)},
new
{ ID = 15, Name =
"Name5"
,path=
"3.jpg"
,Customedate=DateTime.Now,ReceivedDate=DateTime.Now.AddDays(150)}
};
RadGrid1.DataSource = data;
}
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridFooterItem)
{
GridFooterItem fitem = e.Item
as
GridFooterItem;
List<GridDataItem> Items = (from item
in
RadGrid1.MasterTableView.Items.Cast<GridDataItem>()
where Convert.ToInt32(item[
"ID"
].Text) > 0
select item).ToList();
string
str =
"total not zero : "
+ Items.Count +
" "
;
Items = (from item
in
RadGrid1.MasterTableView.Items.Cast<GridDataItem>()
where Convert.ToInt32(item[
"ID"
].Text) == 0
select item).ToList();
str +=
"total zero: "
+ Items.Count;
fitem[
"ID"
].Text = str;
}
}
Thanks,
Jayesh Goyani
0
Accepted

Shinu
Top achievements
Rank 2
answered on 01 Mar 2013, 09:06 AM
Hi,
Please take a look into the following code snippet to show footer total for GridButtonColumn.
ASPX:
C#:
Thanks,
Shinu.
Please take a look into the following code snippet to show footer total for GridButtonColumn.
ASPX:
<
telerik:GridButtonColumn
ButtonType
=
"PushButton"
DataTextField
=
"EmployeeID"
UniqueName
=
"ID"
></
telerik:GridButtonColumn
>
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, Telerik.Web.UI.GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
GridDataItem ditem = (GridDataItem)e.Item;
Button btn = (Button)ditem[
"ID"
].Controls[0];
int
fieldValue = Convert.ToInt32(btn.Text);
total += fieldValue;
}
if
(e.Item
is
GridFooterItem)
{
GridFooterItem fitem = e.Item
as
GridFooterItem;
fitem[
"ID"
].Text = total.ToString();
}
}
Thanks,
Shinu.
0

Rabih
Top achievements
Rank 1
answered on 01 Mar 2013, 10:08 AM
Hi again,
The message i am putting in footer is breaking on two lines how can i display the message in one line, regarding of column width ?
The message i am putting in footer is breaking on two lines how can i display the message in one line, regarding of column width ?
0

Shinu
Top achievements
Rank 2
answered on 02 Mar 2013, 03:59 AM
Hi,
Try setting the MasterTableView property TableLayout to Auto as shown below.
ASPX:
Thanks,
Shinu.
Try setting the MasterTableView property TableLayout to Auto as shown below.
ASPX:
<
MasterTableView
CommandItemDisplay
=
"Top"
TableLayout
=
"Auto"
>
Thanks,
Shinu.