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

GridTemplate column, getting a value from a cell

2 Answers 97 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Michael
Top achievements
Rank 1
Michael asked on 08 Nov 2011, 12:58 PM
I have been given a page where all the colums are defined in the front end code. I have always built my tables up in the code behind and never had a problem extracting values from the table. Here is an example of a column that i am having difficulty getting a value from:
<telerik:GridTemplateColumn HeaderText="Effective From" UniqueName="EffectiveFromEdit" Visible="false">
<ItemTemplate>
<telerik:RadDatePicker ID="rdpMinDateEdit" runat="server" Width="140px" DateInput-EmptyMessage='<%#DataBinder.Eval(Container.DataItem,"EffectiveFrom") %>'
 MaxDate="01/01/3000" EnableEmbeddedSkins="false" Skin="247">
<Calendar ID="Calendar1" runat="server" EnableEmbeddedSkins="false" Skin="247" UseColumnHeadersAsSelectors="False"
  UseRowHeadersAsSelectors="False" ViewSelectorText="x">
 </Calendar>
<DateInput ID="DateInput1" runat="server" DateFormat="dd/MM/yyyy" DisplayDateFormat="dd/MM/yyyy"
EmptyMessage="">
</DateInput>
<DatePopupButton HoverImageUrl="" ImageUrl="" />
</telerik:RadDatePicker>
 </ItemTemplate>
 </telerik:GridTemplateColumn>

In the code behind, here is the code i am attempting to use, this works on pages where i have defined the columns in the code behind:
GridEditableItem UpdateItem = (GridEditableItem)e.Item;
fmsdupdate.EffectiveTo = Convert.ToDateTime((UpdateItem["EffectiveToEdit"].Controls[0] as RadDatePicker).SelectedDate);

I have also tried to explicity accces the control (this works for other controls on this page):

fmsdupdate.EffectiveFrom = Convert.ToDateTime (((RadDatePicker)UpdateItem.FindControl("rdpMinDateEdit")).SelectedDate);

The date always comes back as 00/00/0001 or null despite a date being picked in the control. Any help on this would be greatly appreciated

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 08 Nov 2011, 01:07 PM
Hello Michael,

Try accessing the DatePicker as shown below.
C#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
 {
  if (e.Item is GridDataItem)
  {
   GridDataItem item = (GridDataItem)e.Item;
   RadDatePicker picker = (RadDatePicker)item.FindControl("rdpMinDateEdit");
  }
}

Thanks,
Shinu.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 08 Nov 2011, 01:11 PM
Hello,

We are not able to ItemTemplate's control in Edit Mode for That you have defined control inside EditItemTemplate.



<telerik:GridTemplateColumn>
                   <ItemTemplate>
                   <asp:Label ID="Label1"></asp:Label>
                   </ItemTemplate>
                   <EditItemTemplate>
                       <asp:TextBox ID="TextBox1"></asp:TextBox>
                   </EditItemTemplate>
               </telerik:GridTemplateColumn>

void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
 // for Normal Mode
if (e.Item is GridDataItem)
        {
            GridDataItem item = (GridDataItem)e.Item;
            Label Label1 = (Label)item.FindControl("Label1");
        }
//For Edit /insert Mode
        if (e.Item is GridEditableItem && e.Item.IsInEditMode)
        {
             GridEditableItem item = (GridEditableItem)e.Item;
            TextBox TextBox1 = (TextBox)item.FindControl("TextBox1");
        }
}


Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Michael
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Jayesh Goyani
Top achievements
Rank 2
Share this question
or