or
var comboBox = $telerik.findControl(parentElement, "RadComboBox1");
| <script type="text/javascript"> |
| function RowDblClick(sender, eventArgs) { |
| sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); |
| } |
| function nodeClicking(sender, args) { |
| if (sender.get_id().indexOf("tvAdjCategory") != -1) { |
| var comboBox = $find("<%= cboAdjCategory.ClientID %>"); |
| } |
| else { |
| var radGrid = $find('<%= gvWalletTransactions.ClientID %>'); |
| var comboBox = $telerik.findControl(radGrid.get_element(), "cboCategory"); |
| } |
| var node = args.get_node() |
| comboBox.set_text(node.get_text()); |
| comboBox.trackChanges(); |
| comboBox.get_items().getItem(0).set_value(node.get_text()); |
| comboBox.commitChanges(); |
| comboBox.hideDropDown(); |
| } |
| function StopPropagation(e) |
| { |
| if(!e) |
| { |
| e = window.event; |
| } |
| e.cancelBubble = true; |
| } |
| function OnClientDropDownOpenedHandler(sender, eventArgs) { |
| if (sender.get_id().indexOf("cboAdjCategory") != -1) { |
| var treeName = "tvAdjCategory"; |
| } |
| else { |
| var treeName = "tvCategory"; |
| } |
| var tree = sender.get_items().getItem(0).findControl(treeName) |
| var selectedNode = tree.get_selectedNode(); |
| if (selectedNode) |
| { |
| selectedNode.scrollIntoView(); |
| } |
| } |
| function OnLoad(sender, args) { |
| var combo = sender; |
| var input = combo.get_inputDomElement(); |
| input.onkeydown = onKeyDownHandler; |
| } |
| function onKeyDownHandler(e) { |
| if (!e) |
| e = window.event; |
| // handle all keys except tab (keycode 9) other keys can be captured |
| if (e.keyCode != '9') { |
| e.returnValue = false; |
| if (e.preventDefault) { |
| e.preventDefault(); |
| } |
| } |
| } |
| </script> |
Here's a sample of my grid:
| <telerik:RadGrid ID="gvWalletTransactions" runat="server" AllowSorting="True" meta:resourcekey="gvTransactions" |
| AutoGenerateColumns="False" skin="Vista" font-size="X-Small" GridLines="None" |
| AllowPaging="True"> |
| <MasterTableView DataKeyNames="TransactionID" GridLines="Both"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="TransactionID" Display="False" |
| HeaderText="TransactionID" UniqueName="TransactionID" Visible="False"> |
| </telerik:GridBoundColumn> |
| <telerik:GridTemplateColumn DataField="TransactionDate" HeaderText="Date" |
| UniqueName="TransactionDate"> |
| <ItemTemplate> |
| <telerik:RadDatePicker ID="dtDate" runat="server" AutoPostBack="True" Skin="Vista" |
| Culture="English (United States)" ShowPopupOnFocus="True" Width="60px" |
| SelectedDate='<%# Bind("TransactionDate", "{0:d}") %>' EnableEmbeddedBaseStylesheet="False" CssClass="TextBoxAsLabel" > |
| <Calendar UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" ViewSelectorText="x" |
| ShowRowHeaders="false" FirstDayOfWeek="Sunday" /> |
| <DatePopupButton visible="False" HoverImageUrl="" ImageUrl="" /> |
| <DateInput DisplayDateFormat="M/d/yyyy" DateFormat="M/d/yyyy" |
| EnableEmbeddedBaseStylesheet="False" CssClass="TextBoxAsLabel" AutoPostBack="True" SelectionOnFocus="SelectAll"> |
| </DateInput> |
| </telerik:RadDatePicker> |
| </ItemTemplate> |
| <ItemStyle HorizontalAlign="Center"/> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn DataField="Description" HeaderText="Description" |
| UniqueName="Description"> |
| <ItemTemplate> |
| <Telerik:RadTextBox ID="txtDescription" runat="server" width="250px" |
| Text='<%# Bind("Description") %>' CssClass="TextBoxAsLabel" Skin="Vista" |
| EnableEmbeddedBaseStylesheet="False" SelectionOnFocus="SelectAll" /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn DataField="Amount" |
| HeaderText="Amount" UniqueName="Amount" SortExpression="Amount"> |
| <ItemTemplate> |
| <telerik:RadNumericTextBox ID="txtAmount" Runat="server" Skin="Vista" |
| Culture="English (United States)" Type="Currency" SelectionOnFocus="SelectAll" |
| Value='<%# Bind("Amount", "{0:C}") %>' CssClass="TextBoxAsLabel" Width="50px"> |
| </telerik:RadNumericTextBox> |
| </ItemTemplate> |
| <ItemStyle HorizontalAlign="Center"/> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="Category" UniqueName="Category" > |
| <ItemTemplate> |
| <telerik:RadComboBox ID="cboCategory" runat="server" Skin="Vista" |
| OnClientDropDownOpened="OnClientDropDownOpenedHandler" |
| meta:resourcekey="cboCategory" Width="110px" DropDownWidth="200px"> |
| <ItemTemplate> |
| <telerik:RadTreeView ID="tvCategory" runat="server" Skin="Vista" |
| OnClientNodeClicking="nodeClicking" > |
| </telerik:RadTreeView> |
| </ItemTemplate> |
| <Items> |
| <telerik:RadComboBoxItem Value="0"/> |
| </Items> |
| </telerik:RadComboBox> |
| </ItemTemplate> |
| <ItemStyle Wrap="False" HorizontalAlign="Center"/> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderText="Project" UniqueName="Project" |
| DataField="Project"> |
| <ItemTemplate> |
| <telerik:RadComboBox runat="server" ID="cboProject" Skin="Vista" DropDownWidth="200px" |
| meta:resourcekey="cboProject" AppendDataBoundItems="true" Width="100px"> |
| <Items> |
| <telerik:RadComboBoxItem Value="0" /> |
| </Items> |
| </telerik:RadComboBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="Account" HeaderText="Account" |
| DataField="ToFromAccount"> |
| <ItemTemplate> |
| <telerik:RadComboBox runat="server" ID="cboAccount" Skin="Vista" Width="100px" |
| DropDownWidth="200px" meta:resourcekey="cboAccount" AppendDataBoundItems="true" > |
| <Items> |
| <telerik:RadComboBoxItem Value="0" /> |
| </Items> |
| </telerik:RadComboBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn DataField="Flagged" UniqueName="Flagged"> |
| <ItemTemplate> |
| <asp:ImageButton ID="btnFlagged" runat="server" meta:resourcekey="btnFlagged" onclick="imgFlagged_Click" /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| <EditFormSettings UserControlName="~/TransactionPages/UserControls/TransactionDetail.ascx" EditFormType="WebUserControl"/> |
| <HeaderStyle Font-Bold="True" HorizontalAlign="Center" Font-Italic="False" Font-Overline="False" Font-Size="Medium" Font-Strikeout="False" Font-Underline="False" /> |
| </MasterTableView> |
| <ClientSettings EnableRowHoverStyle="True"> |
| <Selecting AllowRowSelect="True" /> |
| <ClientEvents OnRowDblClick="RowDblClick" /> |
| </ClientSettings> |
| </telerik:RadGrid> |
| Private Sub GetAccountProducts(ByVal AccountID As String, ByVal Category As String, ByRef node As Telerik.Web.UI.RadTreeNode) |
| Try |
| Dim objCom As New SqlClient.SqlCommand |
| Dim objDA As New SqlClient.SqlDataAdapter |
| Dim objDT As New DataTable |
| objCom.Connection = objSLXCon |
| objCom.CommandText = "select ap.ACCOUNTPRODUCTID, ap.SERIALNUMBER, ap.PRODUCTNAME " & _ |
| "from accountproduct ap inner join product p on ap.productid = p.productid " & _ |
| "where ap.accountid = '" & AccountID & "' and p.family = '" & Category & "' " & _ |
| "and ap.accountproductid in (select accountproductid from ADVANTAGEVISIONACCESS where contactid = '" & Request.Cookies("UserID").Value & "')" |
| objDA.SelectCommand = objCom |
| objDA.Fill(objDT) |
| For Each dr As DataRow In objDT.Rows |
| Dim AssetNode As New Telerik.Web.UI.RadTreeNode() |
| AssetNode.Text = dr.Item("SERIALNUMBER").ToString |
| AssetNode.Value = dr.Item("ACCOUNTPRODUCTID").ToString |
| AssetNode.Attributes.Add("Level", "Asset") |
| AssetNode.Attributes.Add("Model", dr.Item("PRODUCTNAME")) |
| AssetNode.NavigateUrl = "Assets.aspx?Level=Asset&AssetID=" & dr.Item("ACCOUNTPRODUCTID").ToString |
| Dim template As New AssetTemplate() |
| template.InstantiateIn(AssetNode) |
| node.Nodes.Add(AssetNode) |
| Next |
| Catch ex As Exception |
| End Try |
| End Sub |
| Class AccountTemplate |
| Implements ITemplate |
| Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn |
| Dim label1 As New Label() |
| Dim node As RadTreeNode = DirectCast(container, RadTreeNode) |
| label1.ID = "accountnamelabel" |
| label1.Text = node.Text |
| label1.ForeColor = Drawing.Color.Black |
| container.Controls.Add(label1) |
| End Sub |
| End Class |
| Class ContactTemplate |
| Implements ITemplate |
| Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn |
| Dim label1 As New Label() |
| Dim node As RadTreeNode = DirectCast(container, RadTreeNode) |
| label1.ID = "alllocationslabel" |
| label1.Text = node.Text |
| label1.ForeColor = Drawing.Color.Black |
| container.Controls.Add(label1) |
| End Sub |
| End Class |
| Class FamilyTemplate |
| Implements ITemplate |
| Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn |
| Dim label1 As New Label() |
| Dim node As RadTreeNode = DirectCast(container, RadTreeNode) |
| label1.ID = "familynamelabel" |
| label1.Text = node.Text |
| label1.ForeColor = Drawing.Color.Black |
| container.Controls.Add(label1) |
| End Sub |
| End Class |
| Class AssetTemplate |
| Implements ITemplate |
| Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn |
| Dim label1 As New Label() |
| Dim label2 As New Label() |
| Dim node As RadTreeNode = DirectCast(container, RadTreeNode) |
| label1.ID = "assetnamelabel" |
| label1.Text = node.Attributes("Model") |
| label1.ForeColor = Drawing.Color.Black |
| container.Controls.Add(label1) |
| label2.ID = "assetseriallabel" |
| label2.Text = " - SN: " & node.Text |
| label2.ForeColor = Drawing.Color.Black |
| container.Controls.Add(label2) |
| End Sub |
| End Class |