Hello I want to show footer on radgrid. i have populated my radgrid's rows from code behind. there is no control i placed on radgrid but from code behind.
in My code behind on button click...This is how i am populating it
and in item data bound this is how i am writing data on each cell
Now i want to show the summ of each column on footer. please tell me how to acheive this. I have attached the snap of the grid.
<telerik:RadGrid ID="gvDayWiseCashReport" runat="server" AutoGenerateColumns="False" GridLines="None" OnItemDataBound="gvDayWiseCashReport_ItemDataBound"> <MasterTableView> <RowIndicatorColumn> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> </MasterTableView> </telerik:RadGrid>protected void btnSearch_Click(object sender, EventArgs e) { DaysList daysforList = null; Month = int.Parse(ddlMonth.SelectedValue); Year = int.Parse(ddlYear.SelectedValue); GetDates dates = new GetDates(); FirstDate = dates.GetFirstDayOfMonth(Month, Year); LastDate = dates.GetLastDayOfMonth(Month, Year); days = System.DateTime.DaysInMonth(int.Parse(ddlYear.SelectedItem.Value), int.Parse(ddlMonth.SelectedValue)).ToString(); int NoofDays = int.Parse(days); DataSet ds = new DataSet(); DateTime date; CustomSQLCommand command = new CustomSQLCommand(@"select distinct Purpose,Others from tbl_CashRequest req left join tbl_CashPurpose purpose on purpose.ID=req.CashPurposeID", false); ds = command.ExecuteDataSet(); gvDayWiseCashReport.DataSource = null; gvDayWiseCashReport.MasterTableView.Columns.Clear(); gvDayWiseCashReport.DataBind(); gvDayWiseCashReport.DataSource = ds; GridBoundColumn boundColumn; boundColumn = new GridBoundColumn(); boundColumn.DataField = "Purpose"; gvDayWiseCashReport.MasterTableView.Columns.Add(boundColumn); for (int i = 1; i <= NoofDays; i++) { date = dates.GetDate(int.Parse(ddlMonth.SelectedValue), int.Parse(ddlYear.SelectedItem.Value), i); string strDay = date.DayOfWeek.ToString(); int Day = 0; CustomSQLCommand getDay = new CustomSQLCommand(@"select ID from tbl_PreferedTransferDay where PrefferedDay='" + @strDay + "'", false); try { Day = int.Parse(getDay.ExecuteScalar()); } catch { } if (Day != 0 && Day != null) { daysforList = new DaysList(); GridBoundColumn boundColumn1; boundColumn1 = new GridBoundColumn(); boundColumn1.HeaderText = String.Format("{0:ddd, MMM d, yyyy}", date); gvDayWiseCashReport.MasterTableView.Columns.Add(boundColumn1); daysforList.Day = date; daysforList.DayID = Day; ListDays.Add(daysforList); } Day = 0; } gvDayWiseCashReport.DataBind(); }protected void gvDayWiseCashReport_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem dataItem = (GridDataItem)e.Item; string purpose = "", others = ""; if (DataBinder.Eval(e.Item.DataItem, "Purpose").ToString() == "Others") { e.Item.Cells[2].Text = DataBinder.Eval(e.Item.DataItem, "Others").ToString(); try { purpose = DataBinder.Eval(e.Item.DataItem, "Purpose").ToString(); } catch { } try { others = DataBinder.Eval(e.Item.DataItem, "Others").ToString(); } catch { } } else { try { purpose = DataBinder.Eval(e.Item.DataItem, "Purpose").ToString(); } catch { } others = ""; } CustomSQLCommand cmd = new CustomSQLCommand("[SP_CashRequest_getApprovalDayWise]", true); cmd.AddInputParameter("@Purpose", purpose, SqlDbType.NVarChar, 200); cmd.AddInputParameter("@Others", others, SqlDbType.NVarChar, 200); DataSet ds = cmd.ExecuteDataSet(); for (int j = 0; j < ListDays.Count; j++) { e.Item.Cells[j + 3].Text = ""; } if (ds.Tables[0].Rows.Count > 0) { int NoofInstallment = 0; string InstallmentType = "", PaymentMethod = ""; int RequestID = 0, ApprovalID = 0; string Remarks = ""; string RequestedBy = "", ApprovedBy = ""; float TotalAmount = 0.0F; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { try { NoofInstallment = int.Parse(ds.Tables[0].Rows[i]["NoOfInstallments"].ToString()); } catch { } try { InstallmentType = ds.Tables[0].Rows[i]["ApprovedInstallmentType"].ToString(); } catch { } try { PaymentMethod = ds.Tables[0].Rows[i]["ApprovedPaymentType"].ToString(); } catch { } try { Remarks = ds.Tables[0].Rows[i]["ActionRemarks"].ToString(); } catch { } try { ApprovedBy = ds.Tables[0].Rows[i]["ActionTakenBy"].ToString(); } catch { } try { RequestedBy = ds.Tables[0].Rows[i]["RequesterName"].ToString(); } catch { } try { TotalAmount = int.Parse(ds.Tables[0].Rows[i]["ApprovedAmount"].ToString()); } catch { } try { ApprovalID = int.Parse(ds.Tables[0].Rows[i]["ApprovalID"].ToString()); } catch { } cfmsBL.ApprovalID = ApprovalID; #region Single Installments if (PaymentMethod == "Single time") { DateTime CashTransferDay = DateTime.MinValue; float Amount = 0.0F; String TransferDayIDs = ""; try { TransferDayIDs = ds.Tables[0].Rows[i]["ApprovedTransferDayIDs"].ToString(); } catch { } try { CashTransferDay = DateTime.Parse(ds.Tables[0].Rows[i]["ApprovedCashTransferDay"].ToString()); } catch { } DataSet dsTransfer = new DataSet(); if (TransferDayIDs != "" && TransferDayIDs != null) { DataSet dsTransferDays = DB.CFMS_DB.GetByIDs(TransferDayIDs); if (dsTransferDays.Tables[0].Rows.Count > 0) { TransferDayIDs = ""; for (int k = 0; k < dsTransferDays.Tables[0].Rows.Count; k++) { try { TransferDayIDs = TransferDayIDs + dsTransferDays.Tables[0].Rows[k]["PrefferedDay"].ToString() + ","; } catch { } } TransferDayIDs = TransferDayIDs.Substring(0, TransferDayIDs.Length - 1); } cfmsBL.DaysName = TransferDayIDs.Split(','); } for (int j = 0; j < ListDays.Count; j++) { cfmsBL.Dates = ""; DateTime dateNext = DateTime.MinValue; DateTime dateCurr = DateTime.MinValue; dateCurr = ListDays[j].Day; try { dateNext = ListDays[j + 1].Day; } catch { } if (CashTransferDay == ListDays[j].Day) { if (e.Item.Cells[j + 3].Text == "") { try { Amount = int.Parse(ds.Tables[0].Rows[i]["ApprovedAmount"].ToString()); } catch { } } else { try { Amount = float.Parse(e.Item.Cells[j + 3].Text.ToString()) + float.Parse(ds.Tables[0].Rows[i]["ApprovedAmount"].ToString()); } catch { } } try { e.Item.Cells[j + 3].Text = Amount.ToString(); } catch { }}}}