Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
93 views
Hi,
I am having following problem when using RadTreeView within a WebUserControl which is dynamically loaded on a main aspx page. I use ExpandeMode=TreeNodeExpandMode.ServerSideCallBack for node expand event. The tree, whose root nodes are loaded within OnPreRender, keep getting rebuilt everytime i do NodeClick to load a RadGrid data. Is there a different place that I can put the code to built the tree  roots so it do not get refreshed within OnPreRender event.
Below are my source codes:
.vb

Partial

 

Class Controls_DocumentInquiry_BatchDetails

 

 

Inherits ContentControl

 

 

 

 

 

 

 

Protected Overrides Sub OnPreRender(ByVal e As EventArgs)

 

 

MyBase.OnPreRender(e)

 

 

If Not IsPostBack Then

 

 

 

 

 

End If

 

 

 

 

 

If StageName <> "" Then

 

 

 

 

 

Dim dsScanMainBatches As DataSet = ScanMainData

 

 

Dim dsBatchMainBatches As DataSet = batchmainData

 

 

Dim dsStages As DataSet = AllStagesData

 

 

Dim drStage() As DataRow

 

 

For Each dt As DataTable In dsStages.Tables

 

drStage = dt.Select(

"StageID = " & StageID)

 

 

If drStage.Length > 0 Then

 

 

 

 

 

Exit For

 

 

 

 

 

End If

 

 

 

 

 

Next

 

 

 

 

LoadRootNodes(rtvBatches, TreeNodeExpandMode.ServerSideCallBack, StageName, drStage, dsScanMainBatches, dsBatchMainBatches)

 

End If

 

 

 

 

 

End Sub

 

 

 






Protected
Sub Page_Load(ByVal source As Object, ByVal e As EventArgs)

 

 

 

End Sub

 

 

 

 

 

 

Protected Sub Page_Init(ByVal source As Object, ByVal e As EventArgs)

 

 

End Sub

 

 

 

 

 

 

Protected Sub rgBatchDetails_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rgBatchDetails.SelectedIndexChanged

 

 

'Display the image

 

 

 

 

 

 

Dim strBatchNumber As String = rgBatchDetails.SelectedItems(0).Cells(2).Text

 

 

Dim strImageFile As String = rgBatchDetails.SelectedItems(0).Cells(3).Text

 

GridImageDetails.LoadData(

"Image.aspx?ImageLocation=C:\CMMain\CMData\Output\" & strBatchNumber & "\" & strImageFile)

 

 

End Sub

 

 

 

 

 

 

 

Protected Sub rtvBatches_NodeClick(ByVal sender As Object, ByVal e As RadTreeNodeEventArgs)

 

rgBatchDetails.Rebind()

 

End Sub

 

 

 

 

 

 

Public Function GetBatchViewData(ByVal nodeSelected As RadTreeNode) As DataSet

 

 

Dim ds As New DataSet

 

 

If nodeSelected.Value.Substring(0, 4) = "BATC" Then

 

 

 

 

 

ds = objRTLWebService.Retrieve_DocumentsByBatch(nodeSelected.Text, strError)

 

ElseIf nodeSelected.Value.Substring(0, 4) = "GROU" Then

 

 

 

 

 

ds = objRTLWebService.Retrieve_DocumentsByGroup(nodeSelected.ParentNode.Text, nodeSelected.Text, strError)

 

ElseIf nodeSelected.Text = "OPEN/PENDING" Then

 

 

 

 

 

 

End If

 

 

 

 

 

 

Return ds

 

 

End Function

 

 

 

 

 

 

Private Function CreateNode(ByVal strName As String, ByVal isExpanded As Boolean) As RadTreeNode

 

 

Dim node As New RadTreeNode(strName)

 

node.Expanded = isExpanded

 

Return node

 

 

End Function

 

 

 

 

 

 

Private Shared Sub LoadRootNodes(ByVal treeBatches As RadTreeView, ByVal expandMode As TreeNodeExpandMode, _

 

 

ByVal strStageName As String, ByVal drStage() As DataRow, _

 

 

ByVal dsScanMainBatches As DataSet, ByVal dsBatchMainBatches As DataSet)

 

 

If drStage.Length = 0 Then

 

 

 

 

 

 

Dim a = 0

 

 

Exit Sub

 

 

 

 

 

 

Else

 

 

 

 

 

treeBatches.Nodes.Clear()

 

Dim intCounter1 As Integer = 0

 

 

Dim intCounter2 As Integer = 0

 

 

Dim strOpenStatus As String = drStage(0).Item("OpenStatus").ToString

 

 

Dim strInProgressStatus As String = drStage(0).Item("InProgressStatus").ToString

 

 

Dim strCompleteStatus As String = drStage(0).Item("CompleteStatus").ToString

 

 

If strStageName = "SCANNING" Then

 

 

 

 

 

 

Dim drOpen() As DataRow = dsScanMainBatches.Tables(0).Select("BatchStatus = '" & strOpenStatus & "'")

 

 

Dim drInProgress() As DataRow = dsScanMainBatches.Tables(0).Select("BatchStatus = '" & strInProgressStatus & "'")

 

 

Dim drComplete() As DataRow = dsScanMainBatches.Tables(0).Select("BatchStatus = '" & strCompleteStatus & "'")

 

intCounter1 = drOpen.Length + drInProgress.Length

intCounter2 = drComplete.Length

 

Else

 

 

 

 

 

 

Dim drOpen() As DataRow = dsBatchMainBatches.Tables(0).Select("BatchStatus = '" & strOpenStatus & "'")

 

 

Dim drInProgress() As DataRow = dsBatchMainBatches.Tables(0).Select("BatchStatus = '" & strInProgressStatus & "'")

 

 

Dim drComplete() As DataRow = dsBatchMainBatches.Tables(0).Select("BatchStatus = '" & strCompleteStatus & "'")

 

intCounter1 = drOpen.Length + drInProgress.Length

intCounter2 = drComplete.Length

 

End If

 

 

 

 

 

 

Dim node As New RadTreeNode()

 

node.Text =

"Open/Pending" & "(" & intCounter1.ToString() & ")"

 

 

 

 

 

node.Value =

"0" & strStageName

 

node.ToolTip =

"ROOT"

 

 

 

 

 

 

If intCounter1 > 0 Then

 

 

 

 

 

node.ExpandMode = expandMode

 

End If

 

 

 

 

 

treeBatches.Nodes.Add(node)

 

Dim node1 As New RadTreeNode()

 

node1.Text =

"Complete" & "(" & intCounter2.ToString() & ")"

 

 

 

 

 

node1.Value =

"1" & strStageName

 

node1.ToolTip =

"ROOT"

 

 

 

 

 

 

If intCounter2 > 0 Then

 

 

 

 

 

node1.ExpandMode = expandMode

 

End If

 

 

 

 

 

treeBatches.Nodes.Add(node1)

 

End If

 

 

 

 

 

 

End Sub

 

 

 

 

 

 

Protected Sub rtvBatches_NodeExpand(ByVal sender As Object, ByVal e As RadTreeNodeEventArgs)

 

 

Dim dsScanMainBatches As DataSet = ScanMainData

 

 

Dim dsBatchMainBatches As DataSet = batchmainData

 

 

Dim dsStages As DataSet = AllStagesData

 

 

Dim drStage() As DataRow

 

 

For Each dt As DataTable In dsStages.Tables

 

drStage = dt.Select(

"StageID = " & StageID)

 

 

If drStage.Length > 0 Then

 

 

 

 

 

 

Exit For

 

 

 

 

 

 

End If

 

 

 

 

 

 

Next

 

 

 

 

 

PopulateNodeOnDemand(e, TreeNodeExpandMode.ServerSideCallBack, dsScanMainBatches, dsBatchMainBatches, drStage)

 

End Sub

 

 

 

 

 

 

Private Shared Sub PopulateNodeOnDemand(ByVal e As RadTreeNodeEventArgs, ByVal expandMode As TreeNodeExpandMode, _

 

 

ByVal dsScanMainBatches As DataSet, ByVal dsBatchMainBatches As DataSet, _

 

 

ByVal drStage() As DataRow)

 

 

Dim strNodeText As String = e.Node.Text

 

 

Dim strNodeValue As String = e.Node.Value

 

 

Dim strStageName As String = strNodeValue.Substring(1, strNodeValue.Length - 1)

 

 

If drStage.Length = 0 Then

 

 

 

 

 

 

Dim a = 0

 

 

Exit Sub

 

 

 

 

 

 

Else

 

 

 

 

 

 

Dim dtData As New DataTable

 

 

If strNodeText.ToUpper.IndexOf("OPEN/PENDING") >= 0 Then

 

 

 

 

 

 

If strStageName = "SCANNING" Or strStageName = "" Then

 

 

 

 

 

dtData = dsScanMainBatches.Tables(0)

 

Else

 

 

 

 

 

dtData = dsBatchMainBatches.Tables(0)

 

End If

 

 

 

 

 

 

Dim drData() As DataRow = dtData.Select("BatchStatus = '" & drStage(0).Item("OpenStatus") & "'")

 

 

For Each row As DataRow In drData

 

 

Dim node As New RadTreeNode()

 

node.Text = row(

"BatchNumber").ToString()

 

node.Value =

"BATCH" & row("BatchNumber").ToString()

 

node.ExpandMode = expandMode

e.Node.Nodes.Add(node)

 

Next

 

 

 

 

 

e.Node.Expanded =

True

 

 

 

 

 

 

ElseIf strNodeText.ToUpper.IndexOf("COMPLETE") >= 0 Then

 

 

 

 

 

 

If strStageName = "SCANNING" Then

 

 

 

 

 

dtData = dsScanMainBatches.Tables(0)

 

Else

 

 

 

 

 

dtData = dsBatchMainBatches.Tables(0)

 

End If

 

 

 

 

 

 

Dim drData() As DataRow = dtData.Select("BatchStatus = '" & drStage(0).Item("CompleteStatus") & "'")

 

 

For Each row As DataRow In drData

 

 

Dim node As New RadTreeNode()

 

node.Text = row(

"BatchNumber").ToString()

 

node.Value =

"BATCH" & row("BatchNumber").ToString()

 

node.ExpandMode = expandMode

e.Node.Nodes.Add(node)

 

Next

 

 

 

 

 

e.Node.Expanded =

True

 

 

 

 

 

 

ElseIf strNodeValue.Substring(0, 4) = "BATC" Then

 

 

 

 

 

dtData = GetGroupNodes(strNodeText)

 

For Each row As DataRow In dtData.Rows

 

 

Dim node As New RadTreeNode()

 

node.Text = row(

"DocTypeIndex").ToString("000")

 

node.Value =

"GROUP" & row("DocTypeIndex").ToString()

 

 

If dtData.Rows.Count > 0 Then

 

 

 

 

 

node.ExpandMode = expandMode

 

End If

 

 

 

 

 

e.Node.Nodes.Add(node)

 

Next

 

 

 

 

 

e.Node.Expanded =

True

 

 

 

 

 

 

ElseIf strNodeValue.Substring(0, 4) = "GROU" Then

 

 

 

 

 

dtData = GetDocumentNodes(e.Node.ParentNode.Text, strNodeText)

 

For Each row As DataRow In dtData.Rows

 

 

Dim node As New RadTreeNode()

 

node.Text = row(

"DocType").ToString & " " & row("ImageFile").ToString & " " & row("AccountNo").ToString & " " & row("Amount").ToString

 

node.Value =

"DOC" & row("ImageFile").ToString()

 

 

If dtData.Rows.Count > 0 Then

 

 

 

 

 

node.ExpandMode = expandMode

 

End If

 

 

 

 

 

e.Node.Nodes.Add(node)

 

Next

 

 

 

 

 

e.Node.Expanded =

True

 

 

 

 

 

 

End If

 

 

 

 

 

 

End If

 

 

 

 

 

 

End Sub

 

 

 

 

 

 

Private Shared Function GetGroupNodes(ByVal strBatchNumber As String) As DataTable

 

 

Dim dsGroups As DataSet = objRTLWebService.Retrieve_GroupsByBatch(strBatchNumber, strError)

 

 

Return dsGroups.Tables(0)

 

 

End Function

 

 

 

 

 

 

Private Shared Function GetDocumentNodes(ByVal strBatchNumber As String, ByVal strGroupNumber As String) As DataTable

 

 

Dim dsDocuments As DataSet = objRTLWebService.Retrieve_DocumentsByGroup(strBatchNumber, strGroupNumber, strError)

 

 

Return dsDocuments.Tables(0)

 

 

End Function

 

Pero
Telerik team
 answered on 20 Jul 2010
12 answers
313 views
VS 2008
.net 2.0
RadChart Q3 2009

I am trying to get into the GUI screens that allow you set series information etc.  Right click properties in design view takes you to VS properties in solution explorer.

When in smart tag, when clicking "Chart Wizard"  I receive the following error:

"Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "Telerik.Charting.Properties.Resources.resources" was correctly embedded or linked into assembly "Telerik.Web.UI" at compile time, or that all the satellite assemblies required are loadable and fully signed"

Any ideas?
Ves
Telerik team
 answered on 20 Jul 2010
3 answers
161 views
HI guys,

I am using two GridDropDownColumn inside RadGrid.

1- DropDownList is AssetType
2- DropDownList is Category

What I am trying to do is this:

When user select value from first dropdown list (AssetType), I need to get the asset type value so I can update the values in second dropdown list (category).

So bit of research I found some help, which is to attach an event to a GridDropDownColumn. I have found this code on many forums to attach an event


SomeList.ComboBoxControl.SelectedIndexChanged = New RadComboBoxSelectedIndexChangedEventHandler(AddressOf ComboBoxControl_SelectedIndexChanged)

 

 

 

Protected Sub ComboBoxControl_SelectedIndexChanged(ByVal sender as Object, ByVal e as RadComboBoxSelectedIndexChangedEventArgs)

    ' code goes here
End Sub



But when I try to attach an event in my code my list doesn't give me 'SelectedIndexChanged'  option instead it gives me 'SelectedIndex' option. 

To cut long story short can you please tell me with example how to attach an event to a GridDropDownColumn and also check below code and tell me what I am doing wrong.

 



Private Sub AssetGrid_ItemCreated(ByVal sender as Object, ByVal e as Telerik.Web.UI.GridItemEventArgs) Handles AssGrid.ItemCreated

If TypeOf e.Item Is GridEditableItem AndAlso (e.Item.IsInEditMode) Then

 

Dim editableItem as GridEditableItem = DirectCast(e.Item, GridEditableItem)

 

‘ Get the asset list

 

Dim assetList As GridDropDownListColumnEditor = TryCast(editableItem.EditManager.GetColumnEditor(“AssetTypeID”) , GridDropDownListColumnEditor)

 

AssetList.ComboBoxControl.AutoPostBack = True

 

AssetList.ComboBoxControl.SelectedIndex = New RadComboBoxSelectedIndexChangedEventHandler(AddressOf ComboBoxControl_SelectedIndexChanged)

 

End If

Protected Sub ComboBoxControl_SelectedIndexChanged(ByVal sender as Object, ByVal e as RadComboBoxSelectedIndexChangedEventArgs)

    ' code goes here
End Sub



Its urgent!

Many Thanks 

Mira
Telerik team
 answered on 20 Jul 2010
2 answers
201 views

Hi,

 

We are finding difficult to apply background color/image to the Rad Grid header as it is pointed in the screen shot attached.  I will appreciate if any one can give the solution. 

Thanks

Venkat

  

 

Venkatakrishna
Top achievements
Rank 1
 answered on 20 Jul 2010
1 answer
363 views
Alright, I've found a few posts on how to trigger a RadWindow (such as RadAlert, etc) from a server-side postback, but NONE work when the control generating the postback is 'ajaxified'. This is a huge letdown, since I had wanted to use radwindows for displaying exceptions,etc to the user.

Here are some of the notable posts I've found:

this, and this

A year ago I was using the Ajax Toolkit, and relied on the "Modal Popup" for this same thing. It worked wonderfully. I could create a popup with a label, and set the label text on exception and call 'myPopup.visible=true;' and guarantee that it would show up for the user regardless of whether or not the postback control was ajaxified. Is it possible to replicate this functionality with the radwindow stuff?
Petio Petkov
Telerik team
 answered on 20 Jul 2010
1 answer
73 views
hi
  when i click the save button that time i call need data source  for gridview
Vinkel
Top achievements
Rank 1
 answered on 20 Jul 2010
5 answers
263 views
I have a database with simple table with 1.2 million rows and when I put that into a grid using linq, paging is painfully slow.  In the demo http://demos.telerik.com/aspnet-ajax/Grid/Examples/GeneralFeatures/ASPNET35/DefaultCS.aspx it looks like the source code isn't all there, am i missing something?  When I put in the .cs file code that is listed in the demo I get no results when paging or sorting, something is missing.

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  %> 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> 
 
<!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
</head> 
<body> 
    <form id="form1" runat="server"
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
    <div> 
    <telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" EnableAJAX="true"
    <telerik:RadGrid ID="RadGrid1" EnableLinqExpressions="true" Skin="Vista" DataSourceID="LinqDataSource1" PageSize="100" 
    AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True"  EnableViewState="false" 
            runat="server"
<HeaderContextMenu Skin="Vista" EnableTheming="True"
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</HeaderContextMenu> 
 
    <PagerStyle Mode="NextPrevAndNumeric" Position="TopAndBottom" /> 
 
<MasterTableView DataSourceID="LinqDataSource1" AutoGenerateColumns="False"
<RowIndicatorColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</RowIndicatorColumn> 
 
<ExpandCollapseColumn> 
<HeaderStyle Width="20px"></HeaderStyle> 
</ExpandCollapseColumn> 
    <Columns> 
        <telerik:GridBoundColumn DataField="Column1" HeaderText="Column1"  
            SortExpression="Column1" UniqueName="Column1"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column2" HeaderText="Column2"  
            SortExpression="Column2" UniqueName="Column2"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column3" HeaderText="Column3"  
            SortExpression="Column3" UniqueName="Column3"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column4" HeaderText="Column4"  
            SortExpression="Column4" UniqueName="Column4"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column5" HeaderText="Column5"  
            SortExpression="Column5" UniqueName="Column5"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column7" DataType="System.Char"  
            HeaderText="Column7" SortExpression="Column7" UniqueName="Column7"
        </telerik:GridBoundColumn> 
        <telerik:GridBoundColumn DataField="Column9" HeaderText="Column9"  
            SortExpression="Column9" UniqueName="Column9"
        </telerik:GridBoundColumn> 
    </Columns> 
</MasterTableView> 
 
<FilterMenu Skin="Hay" EnableTheming="True"
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> 
</FilterMenu> 
</telerik:RadGrid> 
        <asp:LinqDataSource ID="LinqDataSource1" runat="server"  
            ContextTypeName="Kelly.RAPData" TableName="RAPs" AutoPage="true"
        </asp:LinqDataSource> 
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" Width="75px" Transparency="5"
        <img style="margin-top:50px;" alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading4.gif") %>' /> 
    </telerik:RadAjaxLoadingPanel>          
    </telerik:RadAjaxPanel> 
    </div> 
    </form> 
</body> 
</html> 
 



mzukisi
Top achievements
Rank 1
 answered on 20 Jul 2010
3 answers
86 views
I open a modal rad window as popup and while opening through javascript, i use to MoveTo api to move to it to the centre of the screen. On the window, I have a button called close, which on click, executes close() on the window, but to my surprise, when the window is closed, the other window that opened it, scrolls to the top..
when i looked in detail, the radwindow had some default close event handler, which uses some "_focusedPageElement" and focuses on it,, in my case _focusedPageElement was referring to the iframe of the window that opened the popup..
why is that?? how can i prevent that?
Svetlina Anati
Telerik team
 answered on 20 Jul 2010
1 answer
113 views
How to implement serialization of fields of the Form, that contains RadEditor (in order to make callback-request)? Microsoft JavaScript function WebForm_InitCallback() does it, scanning form fields and adding their values in a variable __theFormPostData. But in a case with RadEditor, it finds only <textarea> (<textarea ... id="RadEditor1ContentHiddenTextarea" style="display: none;">), that contains the initial data (loaded with page). How (before i make callback-request) it is possible to update value in <textarea> on the data from <iframe>? And what is purpose of <textarea> element?
Dobromir
Telerik team
 answered on 20 Jul 2010
1 answer
162 views
<RSCtl:RSGrid ID="RSGrid1" IsConfigDrivenGrid="true" runat="server" style="margin:5" >
   <MasterTableView CommandItemDisplay="Top">
 
      <CommandItemTemplate>
          <table id="tblGridCommandItem" runat="server" cellpadding="0" cellspacing="0" width="100%">
              <tr width="100%">
                  <td align="right">
                                                                                                    <asp:Label ID="lblSearchResultTime" runat="server" CssClass="RSGrid_HeaderCommandItem_Message" />
                                                                                                     
              </td>
           </tr>
        </table>
                                                                                    </CommandItemTemplate>
</MasterTableView>
</RSCtl:RSGrid>


Above is my code for grid. I want to access label which is in the CommandItemTemplate in javascript. I am in OnResponseEnd event of RadAjaxManager. 

Thanks.
Jimmy.
Shinu
Top achievements
Rank 2
 answered on 20 Jul 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?