Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
164 views
Hi,
I have one data bound tree view. 
On three view click i Need to refresh my Grid..

On Treenode click event handler. I called the RadGrid's Rebind Method and it call the RadGrid1_NeedDataSource method where i again reset the Datasource of the grid according to selection in the treeview. But my grid is not updating the datasource..

Here is some code..

protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
 {
     if (!String.IsNullOrEmpty(RadTreeViewContainers.SelectedValue))
         RadGrid1.DataSource = WorkBoard.Client.Task.GetTaskByContainerId(RadTreeViewContainers.SelectedValue);
     else
         RadGrid1.DataSource = WorkBoard.Client.Task.GetTaskByContainerId(TaskFolders[0].Id);
 }

Node click handler 

protected void RadTreeViewContainers_NodeClick(object sender, RadTreeNodeEventArgs e)
  {
       RadGrid1.Rebind();
  }

DataSource is perfect but Not refreshing the grid.. But when manually refresh the grid from refresh button in grid. work awesome..
Please help me its very urgent..
Thanks.



Jayesh Goyani
Top achievements
Rank 2
 answered on 18 Dec 2011
3 answers
142 views
Good morning.  I have 2 grids that use a RadWindow to do their Insert/Updates.  I have them returning and updating properly.  The only problem is that I noticed is that when I update one grid, both grids are refreshed by the ajax manager.  I'd like to see only one grid refresh at a time.

Below is the AJAX setting to allow the rebinds to happen.
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
    <UpdatedControls>
        <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"/>
        <telerik:AjaxUpdatedControl ControlID="RadGrid2" LoadingPanelID="RadAjaxLoadingPanel1"/>
    </UpdatedControls>
</telerik:AjaxSetting>

Below is the call to refresh the grids based on type.  I'm mostly sending you this so that you can see the AJAX call.
function refreshGrid(args, type) {
    if (type == "A") {
        if (args == 1) {
            radalert("Action Updated");
        }
        else {
            radalert("Action Added");
        }
        $find("<%= RadAjaxManager.GetCurrent(me).ClientID %>").ajaxRequest("RebindActions");
    }
    else {
        if (args == 1) {
            radalert("Record Updated");
        }
        else {
            radalert("Record Added");
        }
        $find("<%= RadAjaxManager.GetCurrent(me).ClientID %>").ajaxRequest("RebindRecords");
    }
     
}


Is there a way to only refresh one of these grids at a time?

Thanks!
GP
Top achievements
Rank 1
 answered on 18 Dec 2011
1 answer
242 views
Hi,
I want to allow sorting in my grid when there is data and disallow sorting when there is no data.
But i find out that once i disallow sorting in NeedDatasource event , it will forever disallow sorting . And i find out that my code in allow/disallow sorting in ItemDataBound event do not work at all.
Below is my code !!
Protected Sub ajaxMsg_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles ajaxMsg.NeedDataSource
        Dim Msg As String
        Dim dsMsg As New DataSet()
        Dim strProjectId As String
 
        Try
 
            Msg = ""
            strProjectId = ddlProjectId.SelectedItem.Text
            dsMsg = getMessageByCompNoAndProjectId(strProjectId, "")
            ajaxMsg.DataSource = dsMsg
             
            If dsMsg.Tables(0).Rows.Count = 0 Then
                ajaxMsg.AllowSorting = False
            Else
                ajaxMsg.AllowSorting = True
            End If
        Catch ex As Exception
            Msg = ex.Message.ToString.Replace("'", "")
            RadAjaxManager1.ResponseScripts.Add("alert('" + Msg + "');")
        End Try
 
    End Sub
     
 
Protected Sub ajaxMsg_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles ajaxMsg.ItemDataBound
 
 
        If TypeOf e.Item Is Telerik.Web.UI.GridFooterItem Then
 
            If ajaxMsg.MasterTableView.Items.Count > 0 Then
 
                If ajaxMsg.EditIndexes.Count > 0 OrElse ajaxMsg.MasterTableView.IsItemInserted Then
 
                    ajaxMsg.MasterTableView.SortExpressions.Clear()
                    ' ajaxMsg.MasterTableView.AllowSorting = False
                    ajaxMsg.AllowSorting = False
 
                Else
 
                    ' ajaxMsg.MasterTableView.AllowSorting = True
                    ajaxMsg.AllowSorting = True
 
                End If
 
            Else
 
                ajaxMsg.MasterTableView.SortExpressions.Clear()
                ajaxMsg.MasterTableView.AllowSorting = False
 
                If ajaxMsg.MasterTableView.NoMasterRecordsText = "" AndAlso Not ajaxMsg.MasterTableView.IsItemInserted Then
 
                    ajaxMsg.MasterTableView.NoMasterRecordsText = Resources.Resource.Search_Display
 
                End If
 
            End If
 
 
        ElseIf TypeOf e.Item Is GridPagerItem Then
 
            ajaxMsg.MasterTableView.PagerStyle.PagerTextFormat = "{2}{3}{4} " + Resources.Resource.Page + " {0} " + Resources.Resource.Pageof + " {1}"
            Dim PageSizeCombo As RadComboBox
            PageSizeCombo = CType(e.Item.FindControl("PageSizeComboBox"), RadComboBox)
            PageSizeCombo.Visible = False
 
 
        ElseIf TypeOf e.Item Is Telerik.Web.UI.GridDataItem AndAlso Not (ajaxMsg.EditIndexes.Count > 0 OrElse ajaxMsg.MasterTableView.IsItemInserted) Then
 
            ajaxMsg.MasterTableView.NoMasterRecordsText = Resources.Resource.Search_Display
            ajaxMsg.MasterTableView.AllowSorting = True
 
            Dim commandItem As GridCommandItem
            commandItem = CType(ajaxMsg.MasterTableView.GetItems(Telerik.Web.UI.GridItemType.CommandItem)(0), GridCommandItem)
            commandItem.FindControl("ExportToCsvButton").Visible = True
 
        End If
 
 
    End Sub

Does anyone has any idea?
HELP Please!!
Jayesh Goyani
Top achievements
Rank 2
 answered on 18 Dec 2011
1 answer
90 views

Hello all,

 

From the beginning I am  in a fight with FormDecorator.

He doesn’t do what I want him to do.

 

I have a simple example

A FormDecorator with 2 Telerik controls and a Windows Button.

 

 

<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
<telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Simple" DecoratedControls="All" />
<telerik:RadTabStrip ID="RadTabStrip1" runat="server">
    <Tabs>
        <telerik:RadTab runat="server" Text="Root RadTab1">
        </telerik:RadTab>
        <telerik:RadTab runat="server" Text="Root RadTab2">
        </telerik:RadTab>
    </Tabs>
</telerik:RadTabStrip>
<telerik:RadButton ID="RadButton1" runat="server" Text="Telerik Button">
</telerik:RadButton>
<asp:Button ID="Button1" runat="server" Text="ASP Button" />
</form>

 

On the normal Button it’s working but on the other controls it doesn't

 

I have followed some examples but everything is very straight forward so what I am missing here?

 

Best regards,

 

Marco

Marco
Top achievements
Rank 2
 answered on 17 Dec 2011
3 answers
146 views
Hi,

i want hide the radgrid edit option when add new record opened. i have code for when edited add new record button has been hidden. but i want code for edit option should be hidden when added new record.

Thanks
Dhamu.
Velmurugan
Top achievements
Rank 1
 answered on 17 Dec 2011
1 answer
1.8K+ views
Hi,

Can somebody help me with showing and hiding tabs in code behind? I've tried many methods and none seem to work. I really appreciate your assistance with this one.

Thanks,
Ron.
Richard
Top achievements
Rank 1
 answered on 17 Dec 2011
6 answers
1.1K+ views
Is there a way to ensure that the RadGrid control height is always 100% of the datasource content?

For example, if there are only 3 rows in the grid, the height of the grid control would only be as tall as the three rows in the datasource plus the header row.  All controls on the page below the grid would be displayed directly below the grid.

If the datasource of the grid changed so that the results contained 15 rows, the height of the grid would change to show all 15 rows, and again, any controls on the page below the grid would show directly below the results.

Thanks.
soraya
Top achievements
Rank 1
 answered on 16 Dec 2011
10 answers
325 views
I find an issue in Radgrid.  I couldnt fix it.   I create some columns programmatically.  When I hide colum from header context menu, some blank colum is appear al last.  Copy aspx, aspx.cs and Image (before and after hide column)...  ASPX:                                            <%@ Page Title="" Language="C#" MasterPageFile="~/UI/Doculex.Master" AutoEventWireup="true" CodeBehind="DocumentsList.aspx.cs" Inherits="WebSearch.UI.DocumentsList" %>
<%@ MasterType VirtualPath="~/UI/Doculex.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
   


    <telerik:RadAjaxPanel  runat="server"   EnableViewState="true"  EnableEmbeddedScripts="true" EnableAJAX= "false"   >

    <div class="headerPage">
        <asp:Label ID="lblTitle" runat="server"></asp:Label>
    </div>
    <div class="containerSub" id ="containerSub" runat="server">
    <telerik:RadSplitter  ID ="Splitter"  Width = "100%"  Height ="100%" Orientation="Vertical"  runat="server">
        <telerik:RadPane runat="server" ID="gridPane" Scrolling="None" Height="80%"  Width="100%">
              
             
             <telerik:RadGrid ID="DocumentGrid" runat="server"
                AllowPaging="True" AllowSorting="True"
                AllowFilteringByColumn="true"             
                CellSpacing="0" Height="500px"
                EnableHeaderContextMenu ="true" EnableHeaderContextFilterMenu="true"
                GridLines="None"    AllowMultiRowSelection="true"
                PageSize="12"  AutoGenerateColumns="false" Width="100%"
                EnableLinqExpressions="false"  EnableViewState="True"
                onneeddatasource="DocumentGrid_NeedDataSource"
                onprerender="DocumentGrid_PreRender"  
                onitemcommand="DocumentGrid_ItemCommand"   >
            <ItemStyle VerticalAlign="Top" />
           
            <GroupingSettings CaseSensitive="false" />
         
            <MasterTableView  CommandItemDisplay="None"  DataKeyNames="Id"
                TableLayout="Auto"  PagerStyle-Mode="NumericPages" >
                  <Columns>
                        <telerik:GridClientSelectColumn  CommandName="Select" UniqueName="Select"></telerik:GridClientSelectColumn>     
                       
                   
                                   
                    </Columns>
                </MasterTableView>
                  <ClientSettings Scrolling-SaveScrollPosition="true"  EnablePostBackOnRowClick="true"  Scrolling-AllowScroll="true"  ActiveRowIndex="true" AllowColumnsReorder="true" AllowColumnHide="true">
                  
                  <Selecting AllowRowSelect="true"  />
                           <ClientEvents OnColumnHidden="ColumnHiding" />
                           <Resizing AllowColumnResize="true"></Resizing>

                              
                         </ClientSettings>
                </telerik:RadGrid>

               
        </telerik:RadPane>
       <telerik:RadPane ID="searchPane" Width="20px"  runat="server" Scrolling="None" Height="350px" >
            <telerik:RadSlidingZone runat="server" ID="PaneZone" SlideDirection="Left"   >
                  <telerik:RadSlidingPane ID="DocPreview" runat="server" Width="300px"   OnClientDocked = "PaneDockDocPreview"
                                             OnClientUndocked = "PaneUnDockDocPreview">
                                             <div Id="preview" runat="server"></div>
                 </telerik:RadSlidingPane>
                  <telerik:RadSlidingPane ID="Properties" runat="server" Width="300px" OnClientDocked = "PaneDockProperties"
                                             OnClientUndocked = "PaneUnDockProperties" IconUrl="~/UI/Images/properties.png">
                                             <div id="PropertyList" style="margin-top:5%" runat="server" visible="true">
                                             
                                             </div>

                                               
                 </telerik:RadSlidingPane>
                 <telerik:RadSlidingPane Scrolling="Y" ID="FileNotesPane" runat="server" Width="300px" OnClientDocked = "PaneDockNotes"
                                             OnClientUndocked = "PaneUnDockNotes" IconUrl="~/UI/Images/note.png" visible="false">
                                             <div id="Div1" style="margin-top:5%; width:100%"  runat="server">

                                               <asp:LinkButton ID="lnkAddComment" runat="server" onclick="lnkAddComment_Click" >
                                                  <asp:ImageButton ID="imgAdd" runat="server" ImageUrl="~/UI/Images/add.png" />
                                              <asp:Label ID="lblAddComment" runat="server" /></asp:LinkButton>&nbsp;&nbsp; </div><div class="clear"></div>
                                            
                                            <asp:Panel ID="pnlComment" Visible="false" runat="server">
                                                <table style="width:100%">
                                                    <tr>
                                                        <td><asp:Label ID="lblComent" runat="server"></asp:Label></td><td></td></tr>
                                                        <tr>
                                                        <td ><asp:TextBox  TextMode="MultiLine" CssClass="commentsWithScroll"  Wrap="true" ID="txtComents" runat="server"></asp:TextBox>
                                                         <telerik:RadSpell ID="spellComments" Runat="server" ControlToCheck="txtComents"   />
   
                                                         <asp:RequiredFieldValidator ID="rfvComment" runat="server" ControlToValidate="txtComents" Display="Dynamic" ErrorMessage="*" CssClass="validator" />
                                                        
                                                            <asp:RegularExpressionValidator ID="rExpComments" runat="server" ControlToValidate="txtComents"  CssClass="validator"
                                                        Display="Dynamic"   ValidationExpression="^([\S\s]{1,280})$"></asp:RegularExpressionValidator> </td>
                                                        <td  style="text-align:right"><asp:ImageButton ID="imgSave" runat="server" OnClick="imgSave_Click" ImageUrl="~/UI/Images/add.png" />
                                                       <asp:ImageButton ID="imgCancel" runat="server" ImageUrl="~/UI/Images/cancel.png"   OnClick="imgCancel_Click" /></td>                                                      
                                                        
                                                        </tr></table>
                                                        <div class="clear"></div>
                                                        
                                                        </asp:Panel><asp:Repeater ID="NotesRepeater" runat="server">

                                            <ItemTemplate>
                                              
                                                    <div class="note">
                                                        <div class="dateNote">
                                                           <%# Eval("Date") %>
                                                        </div>
                                                         <div class="ownerNote">
                                                          <%# Eval("OwnerComment")%>
                                                        </h3>
                                                        <div class="commentNote">
                                                          <%# Eval("Comments")%>
                                                        </div>
                                                    </div>
                                                    <div class="clear"></div>
                                            </ItemTemplate>
                                         

                                        </asp:Repeater>


                                             

                                               
                 </telerik:RadSlidingPane>
            </telerik:RadSlidingZone>
        </telerik:RadPane>
    </telerik:RadSplitter>
    
    </div>
     

    </telerik:RadAjaxPanel>


</asp:Content>
ASPX.Cs using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Resources;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using WebSearch.Components;
using WebSearch.SecurityModel;
using WebSearch.UI.Model;
using WebSearch.UI.Model.Items.Grid;
using WebSearch.UI.Model.Screen;

namespace WebSearch.UI
{
    public partial class DocumentsList : System.Web.UI.Page
    {
        #region Properties
        
        private string _culture;
        private ResourceManager _resources;
        private readonly smOrganization _organization= new smOrganization();
        private List<string> hideColum = new List<string>();
        
        #endregion

        #region Events
       
        protected void Page_Load(object sender, EventArgs e)
        {
            GetInfo();
          
            if (Page.IsPostBack)
            {
                App.SavePreferencesGrid(DocumentGrid);
                App.SavePane();
               if(DocumentGrid.MasterTableView.GetSelectedItems().Length ==0)
               {
                   Session["SelectedRows"] = null;

                   if (Request.QueryString["A"] == "pop" || Request.QueryString["A"] == "note")
                   {
                       Response.Redirect("~/UI/DocumentsList.aspx");
                   }
               }
            }

            if (!Page.IsPostBack)
            {
                LoadSettings();
              
                App.LoadPreferencesGrid(DocumentGrid);
                App.LoadPane(PaneZone);
                LoadCorrectAction();
            }
           

            DocumentGrid.HeaderContextMenu.ItemCreated += new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
            
        }

        protected void Page_Init(object sender, EventArgs e)
        {
            CreateColumns();
        }

        void HeaderContextMenu_ItemCreated(object sender, RadMenuEventArgs e)
        {
            CommonFunctions.HideColumns(sender, e);
            CommonFunctions.HideSpecialColumns("Select", e.Item);
            CommonFunctions.HideSpecialColumns("Id", e.Item);
            CommonFunctions.HideSpecialColumns("Path", e.Item);
            CommonFunctions.HideSpecialColumns("FileName", e.Item);
           
        }

        protected void lnkAddComment_Click(object sender, EventArgs e)
        {
            pnlComment.Visible = true;
            txtComents.Text = null;
            lnkAddComment.Visible = false;
        }

        protected void DocumentGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
        {
            DocumentGrid.DataSource = GenericGrid.ListDocuments;
        }

        protected void DocumentGrid_PreRender(object sender, EventArgs e)
        {
            DocumentGrid.MasterTableView.GetColumnSafe("RowIndicator").Display = false;
            DocumentGrid.MasterTableView.GetColumnSafe("Id").Display = false;
            DocumentGrid.MasterTableView.GetColumnSafe("Path").Display = false;

           if (hideColum.Count > 0)
            {
                foreach (string col in hideColum)
                {
                    DocumentGrid.MasterTableView.GetColumnSafe(col).Display = false;
                }
            }


         

            CommonFunctions.GridOptions(DocumentGrid);
        }

        protected void imgSave_Click(object sender, ImageClickEventArgs e)
        {
            if (!Page.IsValid) return;

            string comment = txtComents.Text.Trim();

            _organization.FileNotes = new smFileNotes
            {
                Comments = comment,
                UserId = App.CurrentUserId(),
                FileId = Convert.ToInt16(Session["ID"].ToString()),
                Date = DateTime.Now,
            };
            _organization.CreateNote();
            pnlComment.Visible = false;
            LoadNotes();
            lnkAddComment.Visible = true;
        }

        protected void imgCancel_Click(object sender, ImageClickEventArgs e)
        {
            txtComents.Text = null;
            pnlComment.Visible = false;
            lnkAddComment.Visible = true;
        }

       

        protected void DocumentGrid_ItemCommand(object sender, GridCommandEventArgs e)
        {
            switch (e.CommandName)
            {

                case "RowClick":

                    Session["SelectedRows"] = null;

                     Properties.Visible = false;
                     FileNotesPane.Visible = false;

                    if (DocumentGrid.MasterTableView.GetSelectedItems().Length == 0)
                    {
                        preview.InnerHtml = null;
                        
                        PaneZone.DockedPaneId = null;
                        PaneZone.ExpandedPaneId = null;

                        gridPane.Width = Unit.Empty;
                        searchPane.Width = Unit.Pixel(20);
                        return;
                    }

                    if (DocumentGrid.MasterTableView.GetSelectedItems().Length == 1)
                    {
                        Preview();
                        Session["SelectedRows"] = DocumentGrid.MasterTableView.GetSelectedItems();
                        Session["tab"] = Convert.ToString((int)Doculex.Tabs.ActiveDocument);
                    }

                    if (DocumentGrid.MasterTableView.GetSelectedItems().Length > 1)
                    {
                        Session["SelectedRows"] = DocumentGrid.MasterTableView.GetSelectedItems();
                        Session["tab"] = Convert.ToString((int)Doculex.Tabs.MultipleDocument);

                        PaneZone.ExpandedPaneId = "";
                        PaneZone.DockedPaneId = "";

                        FileNotesPane.Visible = false;
                        Properties.Visible = false;
                    }
                    
                    ((HtmlGenericControl)Master.FindControl("header")).Controls.Clear();

                    if (Session["container"] != null)
                    {
                        UIContainer _container = (UIContainer)Session["container"];

                        MenuScreen _menu = new MenuScreen(Convert.ToInt16(Session["tab"]));
                        Session["menu"] = _menu;
                        _container.Menu = (MenuScreen)Session["menu"];

                        ((HtmlGenericControl)Master.FindControl("header")).Controls.Add(_container.RenderHeader());
                    }

                    break;

            }
        }
        #endregion

        #region Methods

        private void LoadCorrectAction()
        {
            if (Request.QueryString["A"] == "prop")
            {
                LoadProperties();
            }
            if (Request.QueryString["A"] == "note")
            {
                LoadNotes();
            }
        }

        private void CreateColumns()
        {
            List<smDocumentTypeField> documentTypeFieldList = _organization.GetDocumentTypeField(1);

           
          
            GridBoundColumn boundColumnId = new GridBoundColumn();
            DocumentGrid.MasterTableView.Columns.Add(boundColumnId);

            boundColumnId.DataField = "Id";
            boundColumnId.UniqueName = "Id";
            boundColumnId.Visible = false;
            boundColumnId.HeaderStyle.Width = Unit.Pixel(1);
            boundColumnId.ItemStyle.Width = Unit.Pixel(1);

            boundColumnId = new GridBoundColumn();
            DocumentGrid.MasterTableView.Columns.Add(boundColumnId);

            boundColumnId.DataField = "Path";
            boundColumnId.UniqueName = "Path";
            boundColumnId.Visible = false;
           

            GridImageColumn imgeColum = new GridImageColumn();
            DocumentGrid.MasterTableView.Columns.Add(imgeColum);

            imgeColum.DataImageUrlFields = new string[] { "Image" };
            imgeColum.HeaderText = "File Type";
            imgeColum.DataImageUrlFormatString = "~/UI/Images/{0}";
            imgeColum.ImageAlign = ImageAlign.Middle;
            imgeColum.AllowFiltering = false;
            imgeColum.UniqueName = "Image";
           

           
            foreach (smDocumentTypeField documentTypeField in documentTypeFieldList)
            {
                GridBoundColumn boundColumn = new GridBoundColumn();
                DocumentGrid.MasterTableView.Columns.Add(boundColumn);

                boundColumn.DataField = documentTypeField.Name;
                boundColumn.HeaderText = documentTypeField.Header;
                boundColumn.UniqueName = documentTypeField.Name;
                boundColumn.Visible = documentTypeField.IsVisible;
              
                if (documentTypeField.IsVisible == false)
                {
                    hideColum.Add(documentTypeField.Name);
                }
            }

        }

        private void GetInfo()
        {
            _culture = App.CurrentCulture();
            _resources = App.GetMasterResources("DocumentsList");
        }

        private void LoadSettings()
        {
            lblTitle.Text = _resources.GetString(lblTitle.ID, new CultureInfo(_culture));

            DocPreview.IconUrl = VirtualPathUtility.ToAbsolute("~/UI/Images/preview.png");
            DocPreview.TabView = SplitterSlidePaneTabView.ImageOnly;
            DocPreview.Title = _resources.GetString("TitleViewPane", new CultureInfo(_culture));
            DocPreview.UndockText =
                _resources.GetString("UndockViewPane", new CultureInfo(_culture));
            DocPreview.DockText =
                _resources.GetString("DockViewPane", new CultureInfo(_culture));
            DocPreview.ToolTip =
                _resources.GetString("ToolTipViewPane", new CultureInfo(_culture));

            PaneZone.Style.Add("position", "static");

            Properties.Visible = false;
            FileNotesPane.Visible = false;
           // DocPreview.Visible = false;

        }
        
        private void LoadSettingsNotes()
        {
            //spellComments.Language = _culture;
            //spellComments.DictionaryLanguage = _culture;

         
            FileNotesPane.TabView = SplitterSlidePaneTabView.ImageOnly;
            FileNotesPane.Title = _resources.GetString("TitleNotesPane", new CultureInfo(_culture));
            Properties.UndockText =
                _resources.GetString("UndockNotesPane", new CultureInfo(_culture));
            FileNotesPane.DockText =
                _resources.GetString("DockNotesPane", new CultureInfo(_culture));
            FileNotesPane.ToolTip =
                _resources.GetString("ToolTipNotesPane", new CultureInfo(_culture));

            FileNotesPane.Visible = true;
            Properties.Visible = false;
          //  DocPreview.Visible = true;

            ImageButton imgSave = (pnlComment.FindControl("imgSave") as ImageButton);
            ImageButton imgCancel = (pnlComment.FindControl("imgCancel") as ImageButton);
            RegularExpressionValidator rExpComments = (pnlComment.FindControl("rExpComments") as RegularExpressionValidator);

            lblAddComment.Text = _resources.GetString(lblAddComment.ID, new CultureInfo(_culture));
            imgSave.ToolTip = _resources.GetString(imgSave.ID, new CultureInfo(_culture));
            imgSave.AlternateText = _resources.GetString(imgSave.ID, new CultureInfo(_culture));
            imgCancel.ToolTip = _resources.GetString(imgCancel.ID, new CultureInfo(_culture));
            imgCancel.AlternateText = _resources.GetString(imgCancel.ID, new CultureInfo(_culture));
            rExpComments.ErrorMessage = _resources.GetString(rExpComments.ID, new CultureInfo(_culture));
        }

        protected void ToggleRowSelection(object sender, EventArgs e)
        {
            ((sender as CheckBox).NamingContainer as GridItem).Selected = (sender as CheckBox).Checked;
        }

        private void LoadNotes()
        {
            LoadSettingsNotes();
            FillCheckGrid();
         
            rExpComments.ErrorMessage = _resources.GetString(rExpComments.ID, new CultureInfo(_culture));

            GridDataItem[] selectedItems = (GridDataItem[])Session["SelectedRows"];

            if (selectedItems.Length == 0) return;

            foreach (var selectedItem in selectedItems)
            {
                Hashtable newValues = new Hashtable();
                
                selectedItem.ExtractValues(newValues);
                Session["ID"] = Convert.ToInt16(newValues["Id"]);
                NotesRepeater.DataSource = _organization.GetNotes(Convert.ToInt16(newValues["Id"]));
                NotesRepeater.DataBind();
            }
            
            FileNotesPane.Visible = true;
            PaneZone.DockedPaneId = FileNotesPane.ID;
            PaneZone.ExpandedPaneId = FileNotesPane.ID;
        }

        private void LoadProperties()
        {
            LoadSettingsProperties();
            GridDataItem[] selectedItems = (GridDataItem[]) Session["SelectedRows"];
            
            if (selectedItems == null) return;

            if (selectedItems.Length == 0) return;

                
            Table tbProperty = new Table();
            FillCheckGrid();

            List<smDocumentTypeField> documentTypeFieldList = _organization.GetDocumentTypeField(1);



            foreach (var smDocumentTypeField in documentTypeFieldList)
            {
                TableRow row = new TableRow();

                TableCell cell = new TableCell();
                Label lbl = new Label { Text = smDocumentTypeField.Name + ":" };
                cell.CssClass = "LabelCol";
                cell.Controls.Add(lbl);
                row.Cells.Add(cell);

                foreach (GridDataItem item in selectedItems)
                {
                    Hashtable newValues = new Hashtable();
                    item.ExtractValues(newValues);

                    if (newValues[smDocumentTypeField.Name] != null && newValues[smDocumentTypeField.Name].ToString().Length > 30)
                    {
                        newValues[smDocumentTypeField.Name] = newValues[smDocumentTypeField.Name].ToString().Substring(
                            0, 30) + "...";
                    }

                    cell = new TableCell();
                    lbl = new Label { Text = newValues[smDocumentTypeField.Name] == null ? null : newValues[smDocumentTypeField.Name].ToString() };
                    cell.CssClass = "TextBoxCol";
                    cell.Controls.Add(lbl);
                    row.Cells.Add(cell);
                }

                tbProperty.Rows.Add(row);
            }
            PropertyList.Controls.Add(tbProperty);
            Properties.Visible = true;
            PaneZone.DockedPaneId = Properties.ID;
            PaneZone.ExpandedPaneId = Properties.ID;
        }

        private void LoadSettingsProperties()
        {
           
            Properties.TabView = SplitterSlidePaneTabView.ImageOnly;
            Properties.Title = _resources.GetString("TitlePropertiesPane", new CultureInfo(_culture));
            Properties.UndockText =
                _resources.GetString("UndockPropertiesPane", new CultureInfo(_culture));
            Properties.DockText =
                _resources.GetString("DockPropertiesPane", new CultureInfo(_culture));
            Properties.ToolTip =
                _resources.GetString("ToolTipPropertiesPane", new CultureInfo(_culture));

            FileNotesPane.Visible = false;
            Properties.Visible = true;
           // DocPreview.Visible = true;
        }

        private void Preview()
        {
           
            foreach (GridDataItem selectedItem in DocumentGrid.MasterTableView.GetSelectedItems())
            {
                Hashtable newValues = new Hashtable();

                selectedItem.ExtractValues(newValues);


                String fileName = newValues["FileName"].ToString();
                String path = newValues["Path"].ToString();

                string[] extension = fileName.Split('.');

                switch (extension[1].ToString().ToLower())
                {
                    case "txt":
                        StreamReader oStreamReader = File.OpenText(path);
                        string contents = oStreamReader.ReadToEnd();

                        preview.InnerHtml = contents;

                        oStreamReader.Close();
                        break;
                        
                    case "pdf":

                        preview.InnerHtml =
                            "<iframe src=\"../TempFolder/" + fileName + "\" style=\"width:718px; height:700px;\" frameborder=\"0\"></iframe>";

                        break;

                    default:

                        preview.InnerHtml = "<b>Preview not available<b>";
                        break;

                }

                PaneZone.ExpandedPaneId = DocPreview.ID;
                PaneZone.DockedPaneId = DocPreview.ID;

                searchPane.Width = Unit.Empty;
              //  searchPane.Width = Unit.Pixel(20);
               
            }
        }

        public void ExecuteAction(string action)
        {
          
            switch (action)
            {
                case "delete":

                    if (DocumentGrid.MasterTableView.GetSelectedItems().Length <= 0)
                    {
                      //  RadAjaxManager1.Alert("Select Document to delete");
                    }
                    else
                    {
                        Hashtable newValues;
                        DataTable dt = (DataTable)Session["grid"];
                        DataTable dataTable = dt.Copy();

                        foreach (GridDataItem selectedItem in DocumentGrid.MasterTableView.GetSelectedItems())
                        {

                            newValues = new Hashtable();

                            selectedItem.OwnerTableView.ExtractValuesFromItem(newValues, selectedItem);

                            foreach (DataRow row in dt.Rows)
                            {
                                if (row["id"].ToString() == newValues["id"].ToString())
                                {
                                    DataRow deleteRow = dataTable.Rows.Find(row["id"]);
                                    dataTable.Rows.Remove(deleteRow);
                                }
                            }

                        }
                        dataTable.AcceptChanges();
                        Session["action"] = "1";
                        Session["grid"] = dataTable;
                        DocumentGrid.DataSource = dataTable;
                        DocumentGrid.DataBind();

                    }
                    break;

                case "zip":
                       
                       
                    break;

               
            }
        }

        public void FillCheckGrid()
        {
          
            GridDataItem[] selectedItems = (GridDataItem[])Session["SelectedRows"];
            
            if (selectedItems == null) return;

            if (selectedItems.Length == 0) return;
           

            foreach (var selectedItem in selectedItems)
            {
                Hashtable newValues = new Hashtable();

                selectedItem.ExtractValues(newValues);

                foreach (GridDataItem row in DocumentGrid.MasterTableView.Items)
                {
                    if (row["Id"].Text ==  newValues["Id"].ToString())
                    {
                        row.Selected = true;
                    }
                }
            }
        }
        #endregion
    }
}


public class MyTemplate : ITemplate
{
    protected Image ImageIcon;

    private readonly string ColName;

    public MyTemplate(string cName)
    {
        ColName = cName;
    }

    public void InstantiateIn(System.Web.UI.Control container)
    {
        ImageIcon = new Image();
        ImageIcon.ID = "ImageIcon";
        ImageIcon.DataBinding += new EventHandler(ImageIcon_DataBinding);
        container.Controls.Add(ImageIcon);
    }

    public void ImageIcon_DataBinding(object sender, EventArgs e)
    {
        Image iconFileType = (Image)sender;

        GridDataItem container = (GridDataItem)iconFileType.NamingContainer;
        iconFileType.ImageUrl = ((DataRowView)container.DataItem)[ColName].ToString() ;
    }
}                                                                                                                                                                       
July
Top achievements
Rank 2
 answered on 16 Dec 2011
1 answer
137 views
i have a problem with the OnNodeClick event in the tree view. I have the following code in ascx file :

<telerik:RadAjaxLoadingPanel  ID = "RadAjaxLoadingPanel1" runat ="server"></telerik:RadAjaxLoadingPanel>
        <telerik:RadAjaxPanel ID = "RadAjaxPanel" runat = "server" >
            <telerik:RadTreeView ID ="RadTreeView1" runat ="server" Width ="100%" OnNodeExpand = "RadTreeView1_NodeExpand" LoadingStatusPosition ="BeforeNodeText"
                OnNodeClick = "RadTreeView1_NodeClick"  >                            
            </telerik:RadTreeView>
        </telerik:RadAjaxPanel>

And i am adding the nodes in the code behind:

My code behind:

Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        LoadRootNodes(RadTreeView1, TreeNodeExpandMode.ServerSideCallBack)
    End Sub
 
Private Shared Sub LoadRootNodes(ByVal treeView As RadTreeView, ByVal expandMode As TreeNodeExpandMode)
        Dim RootNode As New RadTreeNode()
        RootNode.Text = "Guest"
        RootNode.Value = "1"
        RootNode.ExpandMode = expandMode
        treeView.Nodes.Add(RootNode)
    End Sub
 
Protected Sub RadTreeView1_NodeExpand(ByVal sender As Object, ByVal e As RadTreeNodeEventArgs)
        PopulateNodeOnDemand(e, TreeNodeExpandMode.ServerSideCallBack)
    End Sub
 
Private Shared Sub PopulateNodeOnDemand(ByVal e As RadTreeNodeEventArgs, ByVal expandMode As TreeNodeExpandMode)
        For i As Integer = 1 To 10
            Dim childNode As New RadTreeNode
            childNode.Text = i.ToString
            childNode.Value = i.ToString
            e.Node.Nodes.Add(childNode)
        Next
        e.Node.Expanded = True
    End Sub
 
Protected Sub RadTreeView1_NodeClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs)
        Dim str As String = e.Node.Value
    End Sub
 
On Init i am just loading one root node guest, and when Expand is clicked, i am populating
1 to 10 as child nodes. Now, when i click on one of the nodes, i can hit the break point  at RadTreeView1_NodeClick and when i run, the tree is getting populated and
everything is fine. Now, my problem is, when i click another node, i CANT hit
the break point(on the second node click) and the tress is also not getting
populated. I can just see "Guest" and not the below nodes. Can any one
please help me. Thanks
Sagar
Top achievements
Rank 1
 answered on 16 Dec 2011
1 answer
85 views
Hello,

I'm doing a programmatic insert with a radgrid, and graving the newvalues out of the insertitem. I am doing this in a procedure handling then InsertCommand event. The insert itself works just fine...

The trouble is that I can't figure out how to close the insert form. I can rebind the grid, but that doesn't do it, I have tried IsItemInserted = false, but that throws an error. How on earth do you get the grid to just close and rebind normally when doing a programmatic insert?

Thanks,

Mike
Jayesh Goyani
Top achievements
Rank 2
 answered on 16 Dec 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?