Dim myDataSet As New DataSet()
Dim table As New DataTable("ParentTbl")
Dim table1 As New DataTable("ChildTbl")
table.Columns.Add("ParentId")
table.Columns.Add("Name")
table.Rows.Add(New String() {"1", "root 1"})
table.Rows.Add(New String() {"2", "root 2"})
table.Rows.Add(New String() {"3", "root 3"})
table.Rows.Add(New String() {"4", "root 4"})
table1.Columns.Add("ChildId")
table1.Columns.Add("ParentId")
table1.Columns.Add("Name")
table1.Rows.Add(New String() {"1", "1", "child 1"})
table1.Rows.Add(New String() {"2", "1", "child 11"})
table1.Rows.Add(New String() {"3", "2", "child 2"})
table1.Rows.Add(New String() {"4", "2", "child 22"})
table1.Rows.Add(New String() {"5", "2", "child 23"})
table1.Rows.Add(New String() {"6", "3", "child 3"})
table1.Rows.Add(New String() {"7", "4", "child 4"})
table1.Rows.Add(New String() {"8", "4", "child 42"})
myDataSet.Tables.AddRange(New DataTable() {table, table1})
Dim myParentColumn As DataColumn = myDataSet.Tables(0).Columns("ParentId")
Dim myChildColumn As DataColumn = myDataSet.Tables(1).Columns("ParentId")
Dim myDataRelations As New DataRelation("myDataRelation", myParentColumn, myChildColumn)
myDataSet.Relations.Add(myDataRelations)
Me.RadTabStripReports.DataFieldParentID = "ParentId"
Me.RadTabStripReports.DataFieldID = "ChildId"
' Set Text, Value
Me.RadTabStripReports.DataTextField = "Name"
Me.RadTabStripReports.DataValueField = "ChildId"
Me.RadTabStripReports.DataSource = myDataSet
Me.RadTabStripReports.DataBind()
<
telerik:RadTextBox
ID
=
"Test"
runat
=
"server"
EmptyMessage
=
"Please enter subject search text..."
>
</
telerik:RadTextBox
>
We are using Q1 2012 version.
<
span
style
=
"width: 160px;"
id
=
"ctl00_SearchPagePaneContent_txtSearchSubject_txtTextBox_wrapper"
class
=
"riSingle RadInput RadInput_Office2007"
>
.
.
</
span
>
<
telerik:RadMaskedTextBox
runat
=
"server"
ID
=
"RadMaskedTextBox1"
Mask="<0..23>:<
0..59
>">
</
telerik:RadMaskedTextBox
>
Hi I've got a problem with the ASP.NET Rad Treeview, with checkboxes. The user is able to navigate about the treeview using the cursor keys. However it seems the actual focus is not changing, it appears the focus is changing as the class of rtSelected class is being applied corresponding to the user's navigation using the cursor keys. The actual focus can be changed using the tab key. I've got screen shots which clearly show the focus and the highlighted (selected) nodes being different in IE and Chrome
Chrome...
http://i49.tinypic.com/sf9og0.png
The selected field text is highlighted in grey. The input with focus is highlighted with a yellow box.
IE
http://i49.tinypic.com/adhhls.png
The selected field text is highlighted in grey. The input with focus is highlighted with a dashed outline.
This is not just a cosmetic issue I'm finding when the user selects a node using the space bar, OnNodeCheck is fired twice, once for the selected node and another time for the node with focus.
The focus and the selected node should be the same regardless of what input method is used.
ASPX:-
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2.Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
<
script
type
=
"text/javascript"
>
function AfterUserLocationCheck(node) {
var i;
var nodes = node.TreeView.AllNodes;
for (i = 0; i <
nodes.length
; i++) {
if (nodes[i] != node)
nodes[i].UnCheck();
}
}
</script>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ToolkitScriptManager
ID
=
"ToolkitScriptManager1"
EnablePageMethods
=
"true"
runat
=
"server"
>
</
asp:ToolkitScriptManager
>
<
div
>
<
telerik:RadTreeView
ID
=
"tvUserLocation"
runat
=
"server"
AllowNodeEditing
=
"False"
DataFieldID
=
"Id"
DataFieldParentID
=
"Parent"
DataTextField
=
"Name"
DataValueField
=
"ID"
MultipleSelect
=
"false"
AfterClientCheck
=
"AfterUserLocationCheck"
Skin
=
"Default"
OnNodeCheck
=
"tvUserLocation_OnNodeClick"
TabIndex
=
"1"
CheckBoxes
=
"True"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"World"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Australia"
/>
<
telerik:RadTreeNode
Text
=
"Germany"
/>
<
telerik:RadTreeNode
Text
=
"United States"
/>
</
Nodes
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeView
>
</
div
>
</
form
>
</
body
>
</
html
>
Code Behind:-
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Diagnostics;
namespace
WebApplication2
{
public
partial
class
Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
protected
void
tvUserLocation_OnNodeClick(
object
sender, Telerik.Web.UI.RadTreeNodeEventArgs e)
{
Debug.WriteLine(e.Node.Text);
}
}
}
<
telerik:RadListView
ID
=
"RadListView1"
runat
=
"server"
DataSourceID
=
"SqlDataSource0"
...>
......
<
ItemTemplate
>
<%
# Session["CatalogID"] = Eval("SerialsID").ToString()%>
<
telerik:RadListView
ID
=
"RadListView2"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
...>
.....
<
ItemTemplate
>
<%# Session["ProductID"] = Eval("ProductID").ToString()%>
<asp:Button runat="server" ID="btnRebind_Production" Text="" OnClientClick="somefunction"/>
<
telerik:RadListView
ID
=
"RadListView3"
runat
=
"server"
DataSourceID
=
"SqlDataSource2"
...>
....
<
ItemTemplate
>
<div>
<asp:Button runat="server" ID="btnRebind_Detail" Text="" OnClientClick="somefunction()/>
<asp:ImageButton runat="server" ID="img1" AlternateText="" CausesValidation="false" ImageUrl='<%# Eval("ImageURL") %>' Width="180px" Height="180px" />
<div>
</
ItemTemplate
>
</
telerik:RadListView
>
</
ItemTemplate
>
</
telerik:RadListView
>
</
ItemTemplate
>
</
telerik:RadListView
>
$find(
"<%= RadListView1.ClientID %>").rebind(), the data sets for RadListView2 and 3 are wrong. I tried to wrap the RadListView3 with UpdatePanel and call _doPostBack("UpdatePanel1", ' '), but the dataset for RadListView 3 is wrong, it populated the ListView3 with another Catalog's details. Is there a way to only rebind certain child RadListView in Client-Side?
<
telerik:RadTextBox
ID
=
"txtAuditor"
runat
=
"server"
>
</
telerik:RadTextBox
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"rfvAuditor"
ControlToValidate
=
"txtAuditor"
ErrorMessage
=
"Auditor is required"
Display
=
"Dynamic"
ForeColor
=
"Red"
ValidationGroup
=
"Audit"
>*</
asp:RequiredFieldValidator
>
<
telerik:RadButton
ID
=
"btnUpdate"
Text
=
"Update"
runat
=
"server"
CommandName
=
"Update"
ValidationGroup
=
"Audit"
>
<
telerik:RadAjaxManagerProxy
runat
=
"server"
ID
=
"RadAjaxManagerProxy"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnUpdate"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"btnUpdate"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"rfvAuditor"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
The Grid in the parent control uses the User Control:
<
EditFormSettings
UserControlName
=
"~/Controls/ComplianceFormAuditControl.ascx"
EditFormType
=
"WebUserControl"
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
</
EditFormSettings
>
The Audit validation summary is available on the page:
<
asp:ValidationSummary
runat
=
"server"
ID
=
"vsAudit"
ForeColor
=
"Red"
ValidationGroup
=
"Audit"
/>
The Rad Ajax Manager on the parent page is configured:
<
telerik:AjaxSetting
AjaxControlID
=
"grdAudit"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"grdAudit"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"vsAudit"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
Doesn't seem to work. I have tried to manually call validation without success:
protected
void
grdAudit_InsertCommand(
object
sender, GridCommandEventArgs e)
{
Page.Validate(
"Audit"
);
InsertUpdateAudits(e, ComplianceFormAuditEntity.Status.New);
}
Any ideas?