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.