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

Add RadDatePicker to RadGrid inline editmode in codebehind!

4 Answers 259 Views
Calendar
This is a migrated thread and some comments may be shown as answers.
Jarmo
Top achievements
Rank 1
Jarmo asked on 04 Jan 2011, 09:10 PM
Hi!
I'm new to telerik components so this is propably very easy.
Could somebody show me how to add a RadDatePicker to Radgrid datefield.
I need the datepicker when in inline editmode.

I'm only interested in how it's done in codebehind (vb.net)

The snippet below shows how i fill the RadGrid and it works fine.
Private Sub test()
 
        With tabell
            .Columns.Add("Test")
            .Columns.Add("TEST!")
            .Columns.Add("KNamn")
            .Columns.Add("W_Name")
            .Columns.Add("W_Message")
            .Columns.Add("date")
            .Columns.Add("Post_ID")
        End With
           ' sql connection goes here.......

            Dim r As DataRow
 
            While SQLReader.Read
                r = tabell.NewRow
                r.Item(0) = (SQLReader("kundNr"))
                r.Item(1) = (Roomname.Dequeue.ToString)
                r.Item(2) = (SQLReader("Kund_Namn"))
                r.Item(3) = (SQLReader("Welcome_Name"))
                r.Item(4) = (SQLReader("Welcome_Message"))
                r.Item(5) = (SQLReader("date"))  ' here i need a RadDatePicker
                r.Item(6) = (SQLReader("Post_Id"))
                tabell.Rows.Add(r)
            End While
            SQLReader.Close()
            SQLConn.Close()
       
        RadGrid1.DataSource = tabell
        RadGrid1.DataBind()
 
 
 
    End Sub

4 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 05 Jan 2011, 07:49 AM
Hello Jarmo,

You can use GridDateTimeColumn with PickerType as "RadDatePicker", which shows the RadDatepicker in editmode.

Refer the following articles for more information:
Column types
Programmatic creation

Thanks,
Shinu.
0
Jarmo
Top achievements
Rank 1
answered on 23 Feb 2011, 01:31 PM
hi,

This is how i set it up!

<telerik:GridTemplateColumn HeaderText="Utgår" UniqueName="TemplateColumn" DataType="System.DateTime" >
                               <ItemTemplate>
                                            <asp:Label runat="server" ID="date" Text='<%# Eval("Date") %>'>
                                            </asp:Label>
                               </ItemTemplate>
                        <EditItemTemplate>
                                   <telerik:RadDateTimePicker ID="picker1" Runat="server"
                                      DbSelectedDate='<%# Bind("date") %>' AutoPostBack="True"
                                    Culture="Swedish (Sweden)">
                                    </telerik:RadDateTimePicker>
                        </EditItemTemplate>
                    
                    </telerik:GridTemplateColumn>
                                 <telerik:GridBoundColumn DataField="Post_Id"
                                FilterControlAltText="Filter column5 column" HeaderText="Post_Id"
                                UniqueName="Post_Id" Visible="False">
                            </telerik:GridBoundColumn>
                        </Columns>


it seems to work, but when i try to fetch the datetime that the user sets i only get the date that is allready set from the db.

Dim Picker As RadDateTimePicker = DirectCast(editedItem.FindControl("picker1"), RadDateTimePicker)
Dim
UserInputDate As String = Picker.SelectedDate.ToString


i don't get the selected value.??


/J
0
Accepted
Martin
Telerik team
answered on 28 Feb 2011, 09:19 AM
Hello Jarmo,

I have tried the code bellow and it works as expected on my side:

<%@ Page Language="VB" %>
 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head id="Head1" runat="server">
</head>
<body>
    <form id="mainForm" runat="server">
    <asp:ScriptManager runat="server" ID="ScriptManager1">
    </asp:ScriptManager>
    <script runat="server" type="text/VB">
        Protected Sub RadGrid1_ItemCommand(ByVal sender As Object, ByVal e As GridCommandEventArgs)
            If e.CommandName = RadGrid.UpdateCommandName Then
                Dim item As GridEditableItem = TryCast(e.Item, GridEditableItem)
                Dim picker As RadDatePicker = TryCast(item.FindControl("picker1"), RadDatePicker)
                Label1.Text = "Entered date: " + picker.SelectedDate.ToString()
            End If
        End Sub
        Protected Sub RadGrid1_NeedDataSource(ByVal sender As Object, ByVal e As GridNeedDataSourceEventArgs)
            Dim table As New System.Data.DataTable()
            table.Columns.Add("Post_Id", GetType(Integer))
            table.Columns.Add("Date", GetType(DateTime))
 
            For i As Integer = 0 To 9
                table.Rows.Add(i, DateTime.Now.AddDays(i))
            Next
            RadGrid1.DataSource = table
        End Sub
    </script>
    <table border="0" width="100%">
        <tr>
            <td>
                <telerik:RadGrid ID="RadGrid1" AutoGenerateColumns="false" OnItemCommand="RadGrid1_ItemCommand"
                    runat="server" AutoGenerateEditColumn="true" OnNeedDataSource="RadGrid1_NeedDataSource">
                    <MasterTableView>
                        <Columns>
                            <telerik:GridTemplateColumn HeaderText="UtgÃ¥r" UniqueName="TemplateColumn" DataType="System.DateTime">
                                <ItemTemplate>
                                    <asp:Label runat="server" ID="date" Text='<%# Eval("Date") %>'>
                                    </asp:Label>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <telerik:RadDateTimePicker ID="picker1" runat="server" DbSelectedDate='<%# Bind("date") %>'
                                        AutoPostBack="True" Culture="Swedish (Sweden)">
                                    </telerik:RadDateTimePicker>
                                </EditItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridBoundColumn DataField="Post_Id" FilterControlAltText="Filter column5 column"
                                HeaderText="Post_Id" UniqueName="Post_Id" Visible="False">
                            </telerik:GridBoundColumn>
                        </Columns>
                    </MasterTableView>
                </telerik:RadGrid>
                <asp:Label Text="" EnableViewState="false" ID="Label1" runat="server" />
            </td>
        </tr>
    </table>
    <br />
    </form>
</body>
</html>

Please give it a try and let me know how it goes.

Regards,
Martin
the Telerik team
Registration for Q1 2011 What’s New Webinar Week is now open. Mark your calendar for the week starting March 21st and book your seat for a walk through all the exciting stuff we ship with the new release!
0
Jarmo
Top achievements
Rank 1
answered on 24 Mar 2011, 04:17 PM
Hi.
It works now.   it seems i hade issues with the "OnNeedDataSource"

Thank You
/J
Tags
Calendar
Asked by
Jarmo
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Jarmo
Top achievements
Rank 1
Martin
Telerik team
Share this question
or