Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
380 views
I have been looking at the TabStrip - Add/Remove Tabs demo and trying to modify to work with RadMenu and a Radspliter. I have condensed all the code into 1 single simple file. Any help would be great. When i click the RadMenu to add a new it adds a new tab but the corresponding pageview doesnt display. Then if i click over to the third tab, and back to the second tab, the second tab now shows the contents from the third tab. 

Thanks, any advise or help would be great!!

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Register Src="WebUserControl.ascx" TagPrefix="uc1" TagName="NewMessage" %>
<!DOCTYPE html>
 
<script runat="server">
 
    protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)  {
        DataTable dt = new DataTable();
        dt.Columns.Add("EmployeeID");
        dt.Columns.Add("LastName");
        dt.Columns.Add("FirstName");
        dt.Columns.Add("Title");
        dt.Columns.Add("ReportsTo");
 
        dt.Rows.Add(new object[] { 1, "Davalio", "Nancy", "Sales Representative", 2 });
        dt.Rows.Add(new object[] { 2, "Fuller", "Andrew", "Vice President, Sales", null });
        dt.Rows.Add(new object[] { 3, "Leverling", "Janet", "Sales Representative", 2 });
        dt.Rows.Add(new object[] { 4, "Peacock", "Margaret", "Sales Representative", 2 });
        (sender as RadGrid).DataSource = dt;
    }
 
    protected void RadMenu1_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e) {
        if (e.Item.Text == "Add Tab")
        {
            AddPageView(true, ID.ToString());
            AddTab("New Message");
        }
    }
 
    private void AddTab(string title)
    {
        RadTab tab = new RadTab() { Text = title };
        RadTabStrip1.Tabs.Insert((RadTabStrip1.Tabs.Count - 1), tab);
        RadTabStrip1.DataBind();
        RadTabStrip1.SelectedIndex = tab.Index;
    }
 
    private void AddPageView(bool isNew, string pvId)
    {
        RadPageView pageView = new RadPageView();
        pageView.ID = "NewMessage" + pvId;
   
        RadMultiPage1.PageViews.Add(pageView);
        RadMultiPage1.SelectedIndex = pageView.Index;
    }
 
    protected void RadMultiPage1_PageViewCreated(object sender, RadMultiPageEventArgs e)
    {
        if (e.PageView.ID.Contains("NewMessage"))
        {
            RadButton b = new RadButton();
            b.Text = "NEW TAB!!";
            e.PageView.Controls.Add(b);
        }
    }
     
</script>
 
<head runat="server">
    <title></title>
    <style>
        html,
        body,
        form {
            height: 100%;
            margin: 0px;
            padding: 0px;
        }
         
        .header {
            height: 20px;
            background: blue;
            color: white;
        }
 
       .menu {
            height: 40px;
            background: black;
            color: white;
        }
 
        .footer {
            height: 20px;
            background: blue;
            color: white;
        }
 
    </style>
</head>
<body>
    <form id="form1" runat="server">
      <telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnableTheming="True">
      </telerik:RadScriptManager>
     
        <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function onClientTabSelecting(sender, args) {
                var tab = args.get_tab();
                if (tab.get_pageView()) {
                    tab.set_postBack(false);
                }
            }
        </script>
    </telerik:RadCodeBlock>
 
 
   <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"></telerik:RadAjaxLoadingPanel>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadMultiPage1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" />
                    <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="RadAjaxLoadingPanel1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
 
 
        <div class="header">Footer</div>
        <div class="menu">
             <telerik:RadMenu ID="RadMenu1" runat="server" EnableScreenBoundaryDetection="false" ClickToOpen="false"
                  onitemclick="RadMenu1_ItemClick" EnableOverlay="true" EnableRoundedCorners="true" EnableShadows="true" Flow="Horizontal">
                        <Items>
                            <telerik:RadMenuItem runat="server" Text="Menu" GroupSettings-ExpandDirection="Down" OffsetX="5">
                                <Items>
                                    <telerik:RadMenuItem runat="server" Text="Add Tab"/>
                                </Items>
                            </telerik:RadMenuItem>
                         
                        </Items>
             </telerik:RadMenu>
        </div>
    
       <telerik:RadSplitter runat="server" id="InnerSplitter" Orientation="Vertical" VisibleDuringInit="false" Height="800px" Width="100%" Skin="Vista" >
 
              <telerik:RadPane ID="LeftMenuPane" runat="server" Scrolling="None" Height="100%" Width="27%" ShowContentDuringLoad="false" >
              
              <telerik:RadTabStrip ID="RadTabStrip2" ShowBaseLine="True" runat="server" MultiPageID="RadMultiPage2" Skin="Office2007" SelectedIndex="0" OnClientTabSelecting="onClientTabSelecting">
                  <Tabs>
                      <telerik:RadTab runat="server" Text="Tab1" PageViewID="PageView6" Font-Bold="true" >
                      </telerik:RadTab>
                  </Tabs>
              </telerik:RadTabStrip>
 
               <telerik:RadMultiPage ID="RadMultiPage2" runat="server" SelectedIndex="0"  Width="100%">
 
                 <telerik:RadPageView ID="RadPageView6" runat="server" width="100%" Height="760px"  >  
                        <%-- >>RADGRID--%>
                        <telerik:RadGrid ID="RadGrid1" Height="100%" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"
                            AllowSorting="true">
                            <MasterTableView Width="100%" TableLayout="Fixed" AutoGenerateColumns="false">
                                <Columns>
                                    <telerik:GridBoundColumn DataField="EmployeeID" HeaderText="EmployeeID"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="LastName" HeaderText="LastName"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="FirstName" HeaderText="FirstName"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Title" HeaderText="Title"></telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="ReportsTo" HeaderText="ReportsTo"></telerik:GridBoundColumn>
                                </Columns>
                            </MasterTableView>
                            <ClientSettings>
                                <Scrolling AllowScroll="true" UseStaticHeaders="true" />
                            </ClientSettings>
                        </telerik:RadGrid>
                        <%-- <<RADGRID--%>
                 </telerik:RadPageView>
 
               </telerik:RadMultiPage>
              </telerik:RadPane>
 
       <telerik:RadSplitBar runat="server" id="RadSplitBar4" Height="700px" />
            <telerik:RadPane ID="RightMenuPane" runat="server" Scrolling="None" Height="100%" ShowContentDuringLoad="true" >      
 
<telerik:RadTabStrip ID="RadTabStrip1" SelectedIndex="0" runat="server" MultiPageID="RadMultiPage1">
 <Tabs>
   <telerik:RadTab runat="server" Text="Root RadTab1" PageViewID="PageView1">
   </telerik:RadTab>
   <telerik:RadTab runat="server" Text="Root RadTab3" PageViewID="PageView3">
   </telerik:RadTab>
 </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage id="RadMultiPage1" runat="server" SelectedIndex="0" Width="400">
  <telerik:RadPageView id="PageView1" runat="server">
       TAB
  </telerik:RadPageView>
  <telerik:RadPageView id="PageView3" runat="server" ContentUrl="http://www.telerik.com">
  </telerik:RadPageView>
</telerik:RadMultiPage>
    
           </telerik:RadPane>
 
       </telerik:RadSplitter>
 
        <div class="menu">Footer</div>
    </form>
</body>
</html>

Ivan Danchev
Telerik team
 answered on 20 Jan 2015
3 answers
1.0K+ views
Hi,
i am having treeview, i want to get value of selected child node in rad treeview?
Without using javascript.
Thanks
Ivan Danchev
Telerik team
 answered on 20 Jan 2015
1 answer
120 views
I follow several samples and nothing seems wrong with my code, but I still receiving a NULL value error when I try to insert a value. The product_id parameter is not binded and pass onto the INSERT SQL statement. Here is my code

ASP.NET
<
telerik:RadGrid ID="RadGrid1" runat="server"
            AllowAutomaticDeletes="True"
            AllowAutomaticInserts="True"
            AllowAutomaticUpdates="True"
            AllowFilteringByColumn="True"
            AllowPaging="True"
            AllowSorting="True"
            DataSourceID="SqlDataSource1"
            OnItemDataBound="RadGrid1_ItemDataBound"
            EnableLinqExpressions ="false">
 
            <MasterTableView AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CommandItemDisplay="Top" DataKeyNames="product_name">
     
                <EditFormSettings EditFormType="Template">
                            <FormTemplate>
                    
                                            <telerik:RadAutoCompleteBox ID="radAutoCompleteBox1" runat="server"
                                                DataSourceID="SqlDataSource6"
                                                DataTextField="product_name"
                                                DataValueField="product_id"
                                                InputType="Text"
                                                Delimiter=" "
                                                SelectionMode="Single"
                                                Width="300"
                                                EmptyMessage="Type product name...">
                                            </telerik:RadAutoCompleteBox>
  
                                  
                            </FormTemplate>
                        </EditFormSettings>
            </MasterTableView>
        </telerik:RadGrid>
VB

Protected
Sub RadGrid1_ItemDataBound(sender As Object, e As GridItemEventArgs)
        If e.Item.IsInEditMode Then
            Dim item As GridEditableItem = DirectCast(e.Item, GridEditableItem)
            If Not (TypeOf e.Item Is IGridInsertItem) Then
                Dim radAutoCompleteBox1 As RadAutoCompleteBox = DirectCast(item.FindControl("radAutoCompleteBox1"), RadAutoCompleteBox)
                radAutoCompleteBox1.Entries.Add(New AutoCompleteBoxEntry(item("product_name").Text, item("product_name").Text))
            End If
        End If
    End Sub
Boyan Dimitrov
Telerik team
 answered on 20 Jan 2015
4 answers
159 views
I have not been able to get this to work. Mainly, I've read this and tried to emulate it: https://demos.telerik.com/aspnet-ajax/persistence-framework/examples/custom-storage-provider/defaultcs.aspx, but haven't gotten this to work.

The problem I'm having is the "state" the StorageProvider tries to store is this:

"<?xml version="1.0"?>
<ArrayOfRadControlState xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <RadControlState>
    <ControlSettings />
    <UniqueId>Telerik.Web.UI_PersistanceManager_CustomSettings</UniqueId>
  </RadControlState>
</ArrayOfRadControlState>"

It does not seem to grab the checkbox data at all! How do I tell it to?


Hristo Valyavicharski
Telerik team
 answered on 20 Jan 2015
1 answer
76 views
I placed radgrid inside radwindow in user control page.
The Page will be postback whenever radgrid itemcommand event occurs.

How to avoid postback in radwindow on radgrid command events?

Marin Bratanov
Telerik team
 answered on 20 Jan 2015
1 answer
112 views
How can I limit the editable cols on a popup or inplace edit?
Eyup
Telerik team
 answered on 20 Jan 2015
5 answers
181 views
Hello.
I'm using timelinewiew with resources (people) to develop a planning application. Purpose is to have "events" not assigned to a resource and by moving the event and dropping it on a resource's timeline assign it to that resource. The setup works fine, display of both events and resources works. The events are actually two classes of business objects that both derive from one class that exposes the Appointment attributes (start, end, subject etc.). Both types of events are supplied from database in generic lists. Resources too.

I have implemented the server-side method myScheduler_AppointmentUpdated with logic to update an event if it is dragged from one resource's timeline to another (and then setting the schedulers DataSource to an updated list of events). This seems to work, as at least sometimes when I move an event from one resource to another, the AppointmentUpdate event is fired. But, the event does not fire every time. I have tried to find a pattern for when the event fires and when not, but it seems random.

Not using any client-side stuff at all.

It seems I'm missing something basic here, which is probably correct as I'm a Telerik/scheduler noob :)

Anyone have any ideas?

Attached a screenshot of the timeline layout.
This is my scheduler:
<telerik:RadScheduler ID="schAbsences"
        runat="server"
        HoursPanelTimeFormat="HH:mm"
        SelectedView="TimelineView"
        ShowViewTabs="false"
        ShowResourceHeaders="true"
        TimelineView-EnableExactTimeRendering="true" 
        TimelineView-ShowDateHeaders="true"   
        OnAppointmentDataBound ="schAbsences_AppointmentDataBound"
        OnAppointmentDelete="schAbsences_AppointmentDelete"
        OnAppointmentUpdate="schAbsences_AppointmentUpdate"
        ColumnHeaderDateFormat="h:mm"
        FirstDayOfWeek="Monday"
        LastDayOfWeek="Sunday"
        ShowAllDayRow="true"
        ShowFooter="true"
        OverflowBehavior="Expand"
        OnNavigationComplete="schAbsences_NavigationComplete">
        <TimelineView NumberOfSlots="24" SlotDuration="01:00:00" TimeLabelSpan="1" ColumnHeaderDateFormat="HH:mm tt" />
    </telerik:RadScheduler>
And this is my code-behind:
Resource-types:
ResourceType rt = new ResourceType();
                rt.Name = "Resources";
                rt.ForeignKeyField = "ResourceId";
                rt.KeyField = "Id";
                rt.TextField = "FullName";
                List<Entities.Resource> blapp = new List<Entities.Resource>();
                blapp.AddRange(DBManager.GetExistingResources());
                Entities.Resource r = new Entities.Resource();
                r.firstName = "Inte";
                r.lastName = "tillsatt";
                r.Id = 0;
                blapp.Insert(0, r);
                rt.DataSource = blapp;
                schAbsences.ResourceTypes.Add(rt);
                DateTime startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                schAbsences.SelectedDate = startTime;
                
                schAbsences.TimelineView.GroupBy = "Resources";
                schAbsences.TimelineView.GroupingDirection = GroupingDirection.Vertical;
AppointmentUpdate-method:
protected void schAbsences_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e)
        {
            String type = e.Appointment.Attributes["appointmentType"];
            if (type.Equals("Absence"))
            {
                //Do update (use Attributes)
                int origRsId = int.Parse(e.Appointment.Resources[0].Key.ToString());
            }
            else
            {
                int origResId = int.Parse(e.Appointment.Resources[0].Key.ToString());
                int newResId = int.Parse(e.ModifiedAppointment.Resources[0].Key.ToString());
                int appointmentId=int.Parse(e.Appointment.ID.ToString());
                DBManager.UpdateMovedPlacementCompetence(appointmentId, newResId);
                e.Cancel = true;
            }
            List<BDEvent> list = DBManager.GetAllAbsencesAsEvents();
            list.AddRange(DBManager.GetAllPlacementCompetences());
            schAbsences.DataSource = list;
             
        }
Plamen
Telerik team
 answered on 20 Jan 2015
4 answers
153 views
Hi..

I'm using batch edit mode on my rad grid.. I need to run some code after last iteration of the UpdateCommand. http://www.telerik.com/help/aspnet-ajax/grid-batch-editing.html...

How can I test for the last iteration of RadGrid.UpdateCommandName when using batch edit.mode?

             protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
                { 
                      if (e.CommandName == RadGrid.UpdateCommandName)
                      {

                       }
                }
Dave
Top achievements
Rank 1
 answered on 20 Jan 2015
14 answers
561 views
Hi,
I have followed the documentation and googled to find way to how to deploy radgrid in my sharepoint page. But I am unable to do it.....can anyone give me a sample code + a webpart file to just upload it in sharepoint and use it? From this, I could get an idea to how to populate Radgrid from within Sharepoint.
And one thing more, do I need to tell Sharepoint like to make Telerik components being used? Well, I know how to add safe controls in web.config.
vijila
Top achievements
Rank 1
 answered on 20 Jan 2015
2 answers
170 views
Hi,
I have my grid setup like this:               

<Columns>
                <telerik:GridBoundColumn DataField="col1" HeaderText="Col 1" UniqueName="mytxt" />
                <telerik:GridDropDownColumn DataField="col2" UniqueName="mydd" DropDownControlType="RadComboBox"  HeaderText="Col 2" />                                     
</Columns>


Now I have some questions relating to this:

1. Do I need to manually handle the populating of the field for 'view' mode? Unless I use the code below in ItemDataBound then in view mode the dropdown column is empty.           

if (e.Item is GridDataItem)
            {
                GridDataItem item = (GridDataItem)e.Item;
                DataRowView row = (DataRowView)e.Item.DataItem;
                item["mydd"].Text = row["col2"].ToString();
            }


2. Why does the drop down column have no controls, in ItemDataBound:           

if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
            GridEditableItem item = (GridEditableItem)e.Item; 
             
            //Controls has one control:
            //RadTextBox = (RadTextBox)item["mytxt"].Controls[0]; 
             
            //Controls is empty:
            //RadComboBox com = (RadComboBox)item["mydd"].Controls[0];
 }


3. Is it possible to use a non-datasource-bound combo? so in ItemDataBound I would do something like this:  
         
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
            GridEditableItem item = (GridEditableItem)e.Item;
 
            RadComboBox com = (RadComboBox)item["mydd"].Controls[0];
            com.Items.Add(new RadComboxItem("a", "a"));
            com.Items.Add(new RadComboxItem("b", "b"));
 }

Eyup
Telerik team
 answered on 20 Jan 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?