Telerik Forums
UI for ASP.NET AJAX Forum
0 answers
81 views
Hello All,

I am using Rad Grid version "2008.2.826.20". I have two radio buttons on which click, page is postback

But when i run my application on Google Chrome/ Safari browser on first time grid is coming fine.
When i click on radio button then Grid Skin just disappear.

Application work fine on IE(All version) and Mozilla Firefox.

Please tell me why this is happening?
 

nitin
Top achievements
Rank 1
 asked on 20 Oct 2010
4 answers
113 views
I have got a grid
It collapse it height when I set it's height to 100% and only if I set it height in pixels =( but I want it's heidht to be auto.
In other grids everything is ok, height=100% works. But in this grid 100% height makes grid collapse =(
You can see the collapsed grid on the attached image.

Here is the code of page with grid.

Dic.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Dic.aspx.cs" Inherits="CAP.Site.Administrators.Dic" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Src="~/Controls/DicBase.ascx" TagName="DicBase" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server" >
    <uc1:DicBase runat="server" ID="db" />
</asp:Content>


DicBase.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DicBase.ascx.cs" Inherits="CAP.Site.Controls.DicBase" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>


<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="btDelete">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="grid" LoadingPanelID="RadAjaxLoadingPanel1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="grid">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="grid" LoadingPanelID="RadAjaxLoadingPanel1" />
                        <telerik:AjaxUpdatedControl ControlID="gridMenu" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
                <telerik:AjaxSetting AjaxControlID="gridMenu">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="grid"
                            LoadingPanelID="RadAjaxLoadingPanel1" />
                        <telerik:AjaxUpdatedControl ControlID="gridMenu" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"/>

<telerik:RadGrid  ID="grid" runat="server" GridLines="None" AllowFilteringByColumn="true" BorderWidth="0" BorderColor="White"
            AllowPaging="True" Culture="ru-RU" AllowAutomaticInserts="True" AllowAutomaticDeletes="false" AllowAutomaticUpdates="True" AllowMultiRowSelection="true"
            AllowSorting="True" ShowGroupPanel="true" Skin="Office2007"  AutoGenerateColumns="False" PageSize="100"
            EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="false"     
            Width="100%" Height="100%" GroupPanel-Width="100%"
            OnDeleteCommand="RadGrid1_DeleteCommand" OnInsertCommand="RadGrid1_InsertCommand" OnUpdateCommand="RadGrid1_UpdateCommand">      
        <GroupingSettings CaseSensitive="false" />
        <MasterTableView EditMode="PopUp" DataKeyNames="Id"  TableLayout="Auto" ClientDataKeyNames="Id">
             <EditFormSettings  InsertCaption="Добавление"
                 CaptionFormatString="Редактирование" EditColumn-CancelText="Отмена"
                 EditColumn-EditText="Изменить" EditColumn-InsertText="Сохранить"
                 EditColumn-UpdateText="Изменить" >               
                 <FormTableItemStyle Width="200px"/>
                 <EditColumn CancelText="Отмена" EditText="Изменить" UpdateText="Изменить" InsertText="Сохранить"></EditColumn>
            </EditFormSettings>
               <Columns>
                <telerik:GridClientSelectColumn Reorderable="False" UniqueName="ClientSelectColumn">
                    <HeaderStyle Width="30px" />
                </telerik:GridClientSelectColumn>
                <telerik:GridBoundColumn DataField="Id" HeaderText="Имя" SortExpression="Id" Visible="false" ReadOnly="true" ShowFilterIcon="false" AutoPostBackOnFilter="true" FilterControlWidth="95%"/>
                <telerik:GridBoundColumn DataField="Name" HeaderText="Имя" SortExpression="Name" CurrentFilterFunction="Contains" ShowFilterIcon="false" AutoPostBackOnFilter="true" FilterControlWidth="95%"/>
               </Columns>
        </MasterTableView>       
         <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True">
                            <ClientEvents OnRowContextMenu="RowContextMenu"></ClientEvents>
                            <Selecting AllowRowSelect="true"/>
                            <Scrolling AllowScroll="True" UseStaticHeaders="True" />
        </ClientSettings>
        <PagerStyle Mode="NextPrevAndNumeric" />
    </telerik:RadGrid>
    <asp:Label runat="server" ID="laMessage" Visible="false"/>
    <asp:ObjectDataSource ID="dsObject" runat="server" DeleteMethod="DeleteById"
            InsertMethod="Save" SelectMethod="GetAllSoftVariant" UpdateMethod="Upate" />
    <asp:ObjectDataSource ID="dsRegion" runat="server" DeleteMethod="DeleteById"
            InsertMethod="Save" SelectMethod="GetAllSoftVariant" UpdateMethod="Upate"
            DataObjectTypeName="Clients.Core.Domains.Region"
            TypeName="Base.Core.Repositories.Repository`1[[Clients.Core.Domains.Region, Clients.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Base.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <asp:ObjectDataSource ID="dsBranch" runat="server" DeleteMethod="DeleteById"
            InsertMethod="Save" SelectMethod="GetAllSoftVariant" UpdateMethod="Upate"
            DataObjectTypeName="Clients.Core.Domains.Branch"
            TypeName="Base.Core.Repositories.Repository`1[[Clients.Core.Domains.Branch, Clients.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Base.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <telerik:RadContextMenu ID="gridMenu" runat="server"  EnableRoundedCorners="true" EnableShadows="true" OnItemClick="RadMenu1_ItemClick" OnClientItemClicked="OnClientItemClick" Skin="Office2007" >
      <Items>
                    <telerik:RadMenuItem Text="Добавить" />
                    <telerik:RadMenuItem Text="Изменить" />
                    <telerik:RadMenuItem Text="Удалить" />
                    <telerik:RadMenuItem Text="Обновить" />
       </Items>
    </telerik:RadContextMenu>
    <input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" />
    <telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
    <script type="text/javascript">
        window.onload = function () {
            document.getElementById("div_footer").style.display = "none";
        }

        function RowContextMenu(sender, eventArgs) {
            var menu = $find("<%=gridMenu.ClientID %>");
            var evt = eventArgs.get_domEvent();

            if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") {
                return;
            }
            var index = eventArgs.get_itemIndexHierarchical();
            document.getElementById("radGridClickedRowIndex").value = index;
            sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);
            menu.show(evt);
            evt.cancelBubble = true;
            evt.returnValue = false;
            if (evt.stopPropagation) {
                evt.stopPropagation();
                evt.preventDefault();
            }
        }

        function OnClientItemClick(sender, args) {
            var item = args.get_item();
            if (item.get_text() == "Удалить") {
                return confirm('Вы уверены, что Вы хотите удалить запись?');
            }
        }


     </script>
    </telerik:RadCodeBlock>


DicBase.ascx.cs

using System;
using System.Reflection;
using System.Security.Authentication;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using Base.Core.Repositories;
using CAP.Site.Code;
using Clients.Core.Domains;
using Telerik.Web.UI;

namespace CAP.Site.Controls
{
    public partial class DicBase : UserControl
    {
        private readonly Type[] complexType = new[] { typeof(City), typeof(ActivityCategory), typeof(ProductGroup) };
        private Type type;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Roles.IsUserInRole(HttpContext.Current.User.Identity.Name, Constants.RoleAdministrators))
                throw new InvalidCredentialException();
        }
        protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e)
        {
            var radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]);
            switch (e.Item.Text)
            {
                case "Добавить":
                    grid.MasterTableView.IsItemInserted = true;
                    grid.Rebind();
                    break;
                case "Изменить":
                    grid.Items[radGridClickedRowIndex].Edit = true;
                    grid.Rebind();
                    break;
                case "Удалить":
                    InitDeleteAction();
                    break;
                case "Обновить":
                    ;
                    break;
            }
        }
        public void InitSaveAction()
        {
            grid.MasterTableView.IsItemInserted = true;
            grid.Rebind();
        }
        public void InitEditAction()
        {
            if (grid.SelectedItems.Count == 0)
                return;
            grid.SelectedItems[0].Edit = true;
            grid.Rebind();
        }
        public void InitDeleteAction()
        {
            if (grid.SelectedItems.Count == 0)
                return;
            var generic = typeof(Repository<>);
            Type[] typeArgs = { type };
            Type constructed = generic.MakeGenericType(typeArgs);
            object repository = Activator.CreateInstance(constructed);
            MethodInfo method = constructed.GetMethod("DeleteById");
            foreach (GridDataItem dicItem in grid.SelectedItems)
            {
                object item = Activator.CreateInstance(type);
                var prop = type.GetProperty("Id");
                prop.SetValue(item, Int32.Parse(dicItem.GetDataKeyValue("Id").ToString()), null);
                try
                {
                    method.Invoke(repository, new[] { item });
                }
                catch (Exception)
                {
                    laMessage.Text = @"Удалить нельзя";
                    laMessage.Visible = true;
                }

            }
        }


        public void InitDic(Type type)
        {
            this.type = type;
            dsObject.DataObjectTypeName = type.FullName;
            var generic = typeof(Repository<>);
            Type[] typeArgs = { type };
            Type constructed = generic.MakeGenericType(typeArgs);
            dsObject.TypeName = constructed.FullName;
            grid.DataSourceID = dsObject.ID;

            if (!IsPostBack)
            {
                if (type == typeof(City))
                    AddCityColumns();
                else if (type == typeof(ActivityCategory) || type == typeof(ProductGroup))
                    AddBranchColumns();
            }

            if (Array.Exists(complexType, t => t == type))
            {
                grid.AllowAutomaticInserts = false;
                grid.AllowAutomaticUpdates = false;
            }
        }
        private void AddCityColumns()
        {
            var regionColumn = new GridDropDownColumn();
            grid.MasterTableView.Columns.Add(regionColumn);
            regionColumn.UniqueName = "Region.Id";
            regionColumn.DataField = "Region.Id";
            regionColumn.HeaderText = @"Регион";
            regionColumn.DataSourceID = dsRegion.ID;
            regionColumn.ListTextField = "Name";
            regionColumn.ListValueField = "Id";
            regionColumn.AllowFiltering = false;
            regionColumn.AllowSorting = false;
            regionColumn.DropDownControlType = GridDropDownColumnControlType.RadComboBox;
        }


        private void AddBranchColumns()
        {
            var regionColumn = new GridDropDownColumn();
            grid.MasterTableView.Columns.Add(regionColumn);
            regionColumn.UniqueName = "Branch.Id";
            regionColumn.DataField = "Branch.Id";
            regionColumn.HeaderText = @"Отрасль";
            regionColumn.DataSourceID = dsBranch.ID;
            regionColumn.ListTextField = "Name";
            regionColumn.ListValueField = "Id";
            regionColumn.AllowFiltering = false;
            regionColumn.AllowSorting = false;
            regionColumn.DropDownControlType = GridDropDownColumnControlType.RadComboBox;
        }


        protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)
        {
            if (Array.Exists(complexType, t => t == type))
            {
                var insertedItem = (GridEditFormInsertItem)e.Item;
                string name = ((TextBox)insertedItem["Name"].Controls[0]).Text;
                if (type == typeof(City))
                {
                    int regionId = Int32.Parse(((RadComboBox)insertedItem["Region.Id"].Controls[0]).SelectedValue);
                    var city = new City { Name = name, Region = new Region { Id = regionId } };
                    using (var repo = new Repository<City>())
                        repo.Save(city);
                    //grid.MasterTableView.EditFormSettings.FormTableStyle.
                }
                else if (type == typeof(ActivityCategory))
                {
                    int relId = Int32.Parse(((RadComboBox)insertedItem["Branch.Id"].Controls[0]).SelectedValue);
                    var obj = new ActivityCategory { Name = name, Branch = new Branch { Id = relId } };
                    using (var repo = new Repository<ActivityCategory>())
                        repo.Save(obj);
                }
                else if (type == typeof(ProductGroup))
                {
                    int relId = Int32.Parse(((RadComboBox)insertedItem["Branch.Id"].Controls[0]).SelectedValue);
                    var obj = new ProductGroup { Name = name, Branch = new Branch { Id = relId } };
                    using (var repo = new Repository<ProductGroup>())
                        repo.Save(obj);
                }
                e.Canceled = true;
                e.Item.OwnerTableView.IsItemInserted = false;
            }
            else
            {
                e.Canceled = false;
            }

        }
        protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e)
        {
            if (Array.Exists(complexType, t => t == type))
            {
                var editedItem = (GridEditableItem)e.Item;
                int id = Int32.Parse(((TextBox)editedItem["Id"].Controls[0]).Text);
                string name = ((TextBox)editedItem["Name"].Controls[0]).Text;
                if (type == typeof(City))
                {
                    int regionId = Int32.Parse(((RadComboBox)editedItem["Region.Id"].Controls[0]).SelectedValue);
                    using (var repo = new Repository<City>())
                    {
                        City city = repo.GetById(id);
                        city.Name = name;
                        city.Region = new Region { Id = regionId };
                        repo.Upate(city);
                    }
                }
                else if (type == typeof(ActivityCategory))
                {
                    int relId = Int32.Parse(((RadComboBox)editedItem["Branch.Id"].Controls[0]).SelectedValue);
                    using (var repo = new Repository<ActivityCategory>())
                    {
                        ActivityCategory obj = repo.GetById(id);
                        obj.Name = name;
                        obj.Branch = new Branch { Id = relId };
                        repo.Upate(obj);
                    }
                }
                else if (type == typeof(ProductGroup))
                {
                    int relId = Int32.Parse(((RadComboBox)editedItem["Branch.Id"].Controls[0]).SelectedValue);
                    using (var repo = new Repository<ProductGroup>())
                    {
                        ProductGroup obj = repo.GetById(id);
                        obj.Name = name;
                        obj.Branch = new Branch { Id = relId };
                        repo.Upate(obj);
                    }
                }
            }
        }
        protected void RadGrid1_DeleteCommand(object source, GridCommandEventArgs e)
        {
            ;
        }
    }
}



I have no more ideas what to do to set the grid height to auto =( can you help me please?
lina fetisova
Top achievements
Rank 1
 answered on 20 Oct 2010
2 answers
126 views

Hi there,

It's been  over 3 hours since I am getting this error -

"Build (web): Could not load file or assembly 'Telerik.Web.UI, Version=2010.1.519.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4' or one of its dependencies. The system cannot find the file specified."

What I did was I tried to run the Telerik.WEb.UI dll from the GAC, so dragged it in from my bin folder to the GAC. Then I undid that and tried running it from the bin folder. Since then it just refuses to build and keeps giving me the above error.

Moreover no other project is building on my machine. I have about 8-odd projects using the telerik dll. I tried restarting the Visual studio also restarted my machine, but keep getting the above error. I deleted and added by the reference and clear all temporary internet files, but to no use. I can confirm that all my applciations use .net 2.0 runtime.

Any suggestions will be of great help.

Thanks & Regards


Pavlina
Telerik team
 answered on 20 Oct 2010
1 answer
244 views
Hi,

i want to set Value of RadNumaricTextbox in javascript.

I dont want to use Setvalue() function,How can i set without this function.

Regards
Kumar
Princy
Top achievements
Rank 2
 answered on 20 Oct 2010
1 answer
24 views
Hello,

I have a pretty unique case, that I've only been able to reproduce in Firefox 3.6:

  • create a sample project with a rad Editor
  • load the page with the radEditor, you must start from a freshly loaded page, with no content in the editor.
  • before doing anything else insert a link by using the link manager, or a photo using the photo manager, or paste from word using the dialog.. basically anything that allows you to enter content into the editor without actually typing it there yourself.
  • once inserted, try to hit the backspace to erase it, or select it with the mouse to delete it.

As soon as you type another letter you can then erase everything.  I've been able to reproduce it using a button to insert content into the editor via javascript and the editor.pasteHTML() and/or editor.set_html().  I've tried to set the focus, or add something else after, it doesn't seem to make a difference.

Any ideas?

thanks,
Dobromir
Telerik team
 answered on 20 Oct 2010
1 answer
54 views

Hi,

When I click a folder in the tree, it is loaded (the folder gets populated with children). 

When this happens, I want to output extra meta information about these children to the page.

 

(The children that are loaded when a folder is selected are lazy loaded (or loaded on demand, if you will) from a database (I use a custom content provider)).

 

I've tried using the server side FileExplorer.Load event, since I've noticed that that is called every time a folder is clicked in the tree. However, the text for "testLabel" isn't updated:

 

Page_Load()

{

    fileExplorer.Load += fileExplorer_Load;

}

void fileExplorer_Load(object sender, EventArgs e)

{

        testLabel.Text = "my new metadata  for the newly loaded children"

}

Is it possible to accomplish what I'm trying to do?

Regards,

Andreas

Fiko
Telerik team
 answered on 20 Oct 2010
5 answers
176 views
I am using telerik grid to display master datail data. On a page load the grid wil populated with the data. I am using NestedTemplateView to display detail data. So there is "+" button on the grid which will display detail data. On clicking "+" I am passing one of the column value for a perticular row to stored procedure and displaying the data(Only one row). The issue is it is working for first row and when user clicks on second row the first expanded detail informaion is not hiding. it remains onpen and displays newly clicked rows details data.

Any idea how to hide previous expanded detail row.

Thanks!!!
Radoslav
Telerik team
 answered on 20 Oct 2010
2 answers
100 views
HI

           I am Working on RadGrid with FormTemplate as Popup,Once clicked on Edit record of radGrid
popup is shown,This Popup contain dropDownlist on selected index of this dropdownlist i need to
disable some controls using Javascript how can u do it,Please let me know
Praveen
Top achievements
Rank 1
 answered on 20 Oct 2010
2 answers
159 views
I am using Telerik for the first time with SQL Server instead of Oracle. I am coding this in C#

I use the following code:

<asp:TextBox id="txtAgencyName" runat="server"
            Text='<%# DataBinder.Eval( Container, "DataItem.[Agency Name]"  ) %>' Width="268px" 
            ></asp:TextBox>

When I perform an edit eveything is fine but when I try and perform an isert I get the following error:

DataBinding: 'Telerik.Web.UI.GridInsertionObject' does not allow indexed access.

There are a few fields in front of this code that work fine. Why is this happening? Do I need to write a code aroubnf for this?

Here is the table breakdown.

USE [CommissionsEngine]
GO
/****** Object:  Table [dbo].[Agencies]    Script Date: 10/14/2010 11:46:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Agencies](
    [AgencyID] [varchar](4) NOT NULL,
    [AgencyName] [varchar](255) NULL,
    [EffDate] [datetime] NULL,
    [ExpireDate] [datetime] NULL,
    [Retention] [money] NULL CONSTRAINT [DF_Agencies_Retention]  DEFAULT ((0)),
    [FMO_OverrideID] [varchar](4) NULL,
    [FMO_OverrideAmount] [money] NULL CONSTRAINT [DF_Agencies_FMO_OverrideAmount]  DEFAULT ((0)),
    [DirectorID] [int] NULL,
    [ND_Director_Override] [money] NULL CONSTRAINT [DF_Agencies_ND_Director_Override]  DEFAULT ((0)),
    [IsFMO] [varchar](1) NULL,
    [DateEntered] [datetime] NULL CONSTRAINT [DF_Agencies_DateEntered]  DEFAULT (getdate()),
    [EnteredBy] [varchar](50) NULL CONSTRAINT [DF_Agencies_EnteredBy]  DEFAULT (suser_sname()),
 CONSTRAINT [PK_Agencies] PRIMARY KEY CLUSTERED 
(
    [AgencyID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 70) ON [PRIMARY]
) ON [PRIMARY]
  
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Agencies]  WITH CHECK ADD  CONSTRAINT [FK_Agencies_Directors] FOREIGN KEY([DirectorID])
REFERENCES [dbo].[Directors] ([DirectorID])
GO
ALTER TABLE [dbo].[Agencies] CHECK CONSTRAINT [FK_Agencies_Directors]
Radoslav
Telerik team
 answered on 20 Oct 2010
2 answers
46 views
Hi Telerik Team

This only happens in IE not firefox. Radeditor sometime add <br/> after the html, when I called getSelectedElement it will not detect the tagName correctly, so I can't restore the link value correctly in my custom dialog box. Even the hyperlink manager can't handle it.

E.g.

<a href="bbbb"> test </test><br/>
Rumen
Telerik team
 answered on 20 Oct 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Andrey
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?