This is a migrated thread and some comments may be shown as answers.

subtract two label dates and use button to insert value in

2 Answers 160 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mohamed El-Sayed
Top achievements
Rank 1
Mohamed El-Sayed asked on 19 Jun 2014, 04:33 PM
Hi ,

dears , I just need your help as I've a grid contain two labels they are retrieving dates " start_date " " end_date "
I already create a "diff_button", I need when I press in this button to subtract the dates and get the difference in months
and then insert the value in a cell "difference "

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 20 Jun 2014, 05:10 AM
Hi Beka,

I guess you have a template column with labels to display date and on a button click you want to show the difference in month in the third column. Please try the following code snippet:

ASPX:
<asp:Button ID="btnDifference" runat="server" Text="Get Difference" OnClick="btnDifference_Click" />
<telerik:RadGrid ID="RadGrid1" runat="server" . . >
    <MasterTableView >
        <Columns>          
            <telerik:GridTemplateColumn HeaderText="StartDate">
                <ItemTemplate>
                    <asp:Label ID="lblStartDate" runat="server" Text='<%# String.Format("{0:MM/dd/yy}", Eval("StartDate"))%>'></asp:Label>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridTemplateColumn HeaderText="EndDate">
                <ItemTemplate>
                    <asp:Label ID="lblEndDate" runat="server" Text='<%# String.Format("{0:MM/dd/yy}", Eval("EndDate"))%>'></asp:Label>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
            <telerik:GridTemplateColumn>
                <ItemTemplate>
                    <asp:Label ID="lblDifference" runat="server"></asp:Label>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

C#:
protected void btnDifference_Click(object sender, EventArgs e)
{
  foreach (GridDataItem dataItem in RadGrid1.Items)
  {
    //Access StartDate label
    Label lblStartDate = (Label)dataItem.FindControl("lblStartDate");
    DateTime startdate = Convert.ToDateTime(lblStartDate.Text);
    //Access EndDate label
    Label lblEndDate = (Label)dataItem.FindControl("lblEndDate");
    DateTime endDate =Convert.ToDateTime(lblEndDate.Text);   
    //Get the difference
    int difference = ((endDate.Year - startdate.Year) * 12) + endDate.Month - startdate.Month;
    //Access label to display the result
    Label lblDifference = (Label)dataItem.FindControl("lblDifference");
    lblDifference.Text = difference.ToString();
  }
}

Thanks,
Princy
0
Mohamed El-Sayed
Top achievements
Rank 1
answered on 21 Jun 2014, 06:00 PM
Thanks Princy ;)
Tags
Grid
Asked by
Mohamed El-Sayed
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Mohamed El-Sayed
Top achievements
Rank 1
Share this question
or