Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
94 views

Let me start explaining the enverirement, I have a contantpage that holds a grid with columns (template that holds a hyperlink) that opens up a radWindow.
(content page relevent code)

    <telerik:RadWindowManager ID="RadWindowManager1" runat="server">
        <Windows>
            <telerik:RadWindow ID="winArticle" runat="server">
            </telerik:RadWindow>
        </Windows>
    </telerik:RadWindowManager>
 
<script type="text/javascript">
    function openRadWin(art) {
        window.radopen('articleDetails.aspx?art=' + art, 'winArticle');
    }
</script>
 
<telerik:RadGrid ID="grArticles" runat="server" CellSpacing="0" GridLines="None"
        EnableEmbeddedSkins="False" Skin="Levweb"
        onneeddatasource="grArticles_NeedDataSource" AutoGenerateColumns="False"
        ondetailtabledatabind="grArticles_DetailTableDataBind"
        onprerender="grArticles_PreRender"
        onitemdatabound="grArticles_ItemDataBound">
 
<MasterTableView DataKeyNames="as_artnr_6">
 
<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn1 column" UniqueName="ExpandColumn1">
    <HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
 
<DetailTables>
    <telerik:GridTableView DataKeyNames="art_artnr" Name="ArtDetails" Width="100%" ShowHeader="False">
        <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn>
        <Columns>
            <telerik:GridBoundColumn SortExpression="art_artnr" HeaderText="art_artnr" HeaderButtonType="TextButton" DataField="art_artnr" Visible="false">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="text" HeaderText="text" HeaderButtonType="TextButton" DataField="text" UniqueName="text">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn SortExpression="art_ritning" HeaderText="art_ritning" HeaderButtonType="TextButton" DataField="art_ritning" UniqueName="art_ritning">
            </telerik:GridBoundColumn>
        </Columns>
    </telerik:GridTableView>
</DetailTables>
 
<Columns>
    <telerik:GridTemplateColumn SortExpression="as_artnr_6">
    <ItemTemplate>
        <asp:HyperLink ID="hlArtNr" Runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.as_artnr_6") %>'></asp:HyperLink>
    </ItemTemplate>
    </telerik:GridTemplateColumn>
    <telerik:GridTemplateColumn SortExpression="ben_7">
    <ItemTemplate>
        <asp:HyperLink ID="hlArtBen" Runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ben_7") %>'></asp:HyperLink>
    </ItemTemplate>
    </telerik:GridTemplateColumn>
    <telerik:GridDateTimeColumn DataField="levdat_3" DataFormatString="{0:yyyy-MM-dd}" FilterControlAltText="Filter column2 column" UniqueName="column2">
    </telerik:GridDateTimeColumn>
    <telerik:GridNumericColumn DataField="rest_antal_4" DecimalDigits="2" DataFormatString="{0:0.#}" FilterControlAltText="Filter column3 column" UniqueName="column3">
    </telerik:GridNumericColumn>
    <telerik:GridBoundColumn DataField="enhet_13" FilterControlAltText="Filter column4 column" UniqueName="column4">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="lev_artnr_10" FilterControlAltText="Filter column5 column" UniqueName="column5">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="ordernr_5" FilterControlAltText="Filter column6 column" UniqueName="column6">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="rad_status_20" FilterControlAltText="Filter column7 column" UniqueName="column7">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="hasChild" FilterControlAltText="Filter column7 column" UniqueName="hasChild" Visible="false">
    </telerik:GridBoundColumn>
</Columns>
 
</MasterTableView>
<ClientSettings>
    <Selecting AllowRowSelect="true" />
</ClientSettings>
</telerik:RadGrid>

protected void grArticles_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            HyperLink lbArtNr = (HyperLink)e.Item.Cells[3].FindControl("hlArtNr");
            HyperLink lbArtBen = (HyperLink)e.Item.Cells[5].FindControl("hlArtBen");
 
            lbArtNr.Attributes["href"] = "#";
            lbArtNr.Attributes["onclick"] = "openRadWin('" + ((HyperLink)e.Item.Cells[2].Controls[1]).Text + "');";
 
            lbArtBen.Attributes["href"] = "#";
            lbArtBen.Attributes["onclick"] = "openRadWin('" + ((HyperLink)e.Item.Cells[2].Controls[1]).Text + "');";
 
        }
    }


The Window opens up correctly, the window contains an aspx file that is pretty much emtpy except for holding a ascx file at the moment,
this is the code for the ascx.

<telerik:RadGrid ID="grArtPlan" runat="server" CellSpacing="0" GridLines="None"
        EnableEmbeddedSkins="False" Skin="Levweb"
        onneeddatasource="grArtPlan_NeedDataSource"
    AutoGenerateColumns="False">
 
<MasterTableView>
 
<Columns>
    <telerik:GridBoundColumn DataField="inlevdatum" FilterControlAltText="Filter column5 column" UniqueName="column5">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="ordernr" FilterControlAltText="Filter column5 column" UniqueName="column5">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="fsedel" FilterControlAltText="Filter column5 column" UniqueName="column5">
    </telerik:GridBoundColumn>
    <telerik:GridBoundColumn DataField="levantal" FilterControlAltText="Filter column5 column" UniqueName="column5">
    </telerik:GridBoundColumn>
</Columns>
 
</MasterTableView>
 
</telerik:RadGrid>

protected void Page_Load(object sender, EventArgs e)
    {
        string art = Request.QueryString["art"];
    }
    protected void grArtPlan_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        LevWebService.SrvCoreClient service = new LevWebService.SrvCoreClient();
        DataTable dt = service.ListaLagerPlanBild(((LevWebService.SessUser)Session[common.userSession]).Id, Request.QueryString["art"]);
        grArtPlan.DataSource = dt;
    }

At this point i get all the relevent data into the datatable, but the rows generated looks empty (number of rows is drawn, but no data)
See atteched file for a screenshot of the problem. I also atteched a scrren of the data returned to the datatable that shows it has data.

Any ideas are welcome.

Regards

Maria Ilieva
Telerik team
 answered on 24 Apr 2012
1 answer
93 views
I'm not sure this can be done but figured I would post the question. 

For our application, we have a multi-dashboard solution with each dashboard having a set of floating docks (due to various sizes, etc).  This works well for most cases but recently we have had customers creating dashboards for 1920 x 1080 monitors. This would be fine if all user machines were 1920x1080 but with the use of tablets, laptops and various PCs this cannot be done.  So what I would like to do is create a display palette (zone) of 1920x1080 that would allow you to place floating docks on it.  Then on a small monitor, it would provide you scrollbars on the zone but on the full size 1920x1080 monitor it wouldn't.  Obviously this would work if we had docked controls but unfortunetly there are way to many control sizing factors preventing this. 

Has anyone done something like this or have suggestions on how this can be achieved.  Minimally I would be happy if a user with a low resolution monitor would at least get scrolls for a larger designed dashboard. 

I looked at the restricted zone example.  Here is an example and you notice the scroll doesn't work on the middle splitter section in association to the docks:
<%@ 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">
<head id="Head1" runat="server">
    <title>Test</title>
    <style type="text/css">
    html, body, form
    {   height:100%; margin:0px; padding:0px; overflow:hidden;  }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <telerik:RadSplitter ID="RadSplitter1" runat="server" Height="100%" Width="100%" Orientation="Horizontal">
        <telerik:RadPane ID="RadPane1" runat="server" Height="50" BackColor="Red">
            Top Pane
        </telerik:RadPane>
        <telerik:RadPane ID="RadPane2" runat="server" BackColor="Red">
            <div id="restrictionZone" style="border: solid 1px black; background-color:Green; width: 600px; height: 1200px;">
            Docks are only allowed here<br />
                <telerik:RadDockLayout ID="RadDockLayout1" runat="server">
                    <telerik:RadDock ID="RadDock1" runat="server" Width="300px" OnClientDragEnd="OnClientDragEnd" Resizable="true" Top="55" Height="200">
                    </telerik:RadDock>
                </telerik:RadDockLayout>
            </div>
        </telerik:RadPane>
        <telerik:RadPane ID="RadPane3" runat="server" Height="50" BackColor="Red">
            Footer Pane
        </telerik:RadPane>
    </telerik:RadSplitter>
    </form>
    <script type="text/javascript">
        var restrictionZone = $get('restrictionZone');
        function OnClientDragEnd(dock) {
            var restrBounds = $telerik.getBounds(restrictionZone);
            var dockBounds = $telerik.getBounds(dock.get_element());
            var inBounds = Telerik.Web.UI.ResizeExtender.containsBounds(restrBounds, dockBounds);
            if (!inBounds) {
                if (dockBounds.x < restrBounds.x) {
                    dock.set_left(restrBounds.x);
                }
                else if (restrBounds.x + restrBounds.width < dockBounds.x + dockBounds.width) {
                    dock.set_left(restrBounds.x + restrBounds.width - dockBounds.width);
                }
                if (dockBounds.y < restrBounds.y) {
                    dock.set_top(restrBounds.y);
                }
                else if (restrBounds.y + restrBounds.height < dockBounds.y + dockBounds.height) {
                    dock.set_top(restrBounds.y + restrBounds.height - dockBounds.height);
                }
            }
        }
    </script>
</body>
</html>


Thanks in advanced,
Shane
Slav
Telerik team
 answered on 24 Apr 2012
5 answers
129 views
I am having trouble getting my item and header columns to align.  I have gotten to the point of trying to even set them all manually in the grid's preRender event but something is overriding it.

However, before I share some code I have a more immediate related question:  Is there some factor of your grid component that adjusts its rendering based on the presence of browser developer tools?  If I use the inspect feature of FF9 or flip on F12 in IE9 the grid immediately aligns itself correctly and remains that way after I turn the dev tools off.  This suggests to me that my alignment issue is not related to overriding CSS (which I doubt is at work here) but rather some aspect of the grid's java script.  Can you spread som light on this unusual issue?

Thanks,
Ed
Ed
Top achievements
Rank 1
 answered on 24 Apr 2012
1 answer
67 views
When in Design view, there is some extra space under the Editor, when I switch to HTML view, the space gets filled up. I have tried setting AutoResizeHeight to True, but the problem persists.
Rumen
Telerik team
 answered on 24 Apr 2012
3 answers
149 views
I've bumped up against an unexpected roadblock when trying to extract the entered HTML from a GridHTMLEditorColumn.

Briefly, I have something like this:

In the Grid:
<telerik:GridHTMLEditorColumn
    DataField="Content"
    HeaderText="Content"
    UniqueName="Content"
    Visible="false">
</telerik:GridHTMLEditorColumn>

Extracting the value:
var hashTable = new Hashtable();
 
using (var ownerTableView = e.Item.OwnerTableView)
{
    ownerTableView.ExtractValuesFromItem(hashTable, editedItem);
}

Then:
if (hashTable.ContainsKey("Content"))
{
    this.Content = hashTable["Content"].ToString();
}

Or:
var tableCell = editedItem["Content"];
 
if (tableCell != null)
{
    var radEditor = tableCell.Controls[0] as RadEditor;
 
    if (radEditor != null)
    {
        // At this point, all I have is string.Empty for radEditor.Content
        this.Content = string.IsNullOrEmpty(radEditor.Content) ? string.Empty : radEditor.Content;
    }
}

Nothing works. I can get hold of all my other bound column values. But I can't for the life of me work out how to get the HTML content.

Help!

Richard

Shinu
Top achievements
Rank 2
 answered on 24 Apr 2012
1 answer
95 views
Hi I have created a RadMenu dynamically on a Grid Pager the RadGrid has the following properties:-
<telerik:RadGrid ID="theGridView" runat="server"
   AllowPaging="True" AllowSorting="True" AllowFilteringByColumn="True" AllowAutomaticDeletes="True" CellSpacing="0"
   DataSourceID="theSqlDataSource" CssClass="gridview" Width="100%"
   AutoGenerateColumns="False" EnableHeaderContextFilterMenu="True"
   EnableHeaderContextMenu="True" ShowStatusBar="True" Skin="Windows7" ShowGroupPanel="true" GroupPanel-CssClass="hideGroupPanel" Culture="en-NZ"
   onitemdatabound="theGridView_ItemDataBound"
   OnItemCreated="theGridView_ItemCreated" onitemdeleted="theGridView_ItemDeleted">
   <ClientSettings AllowColumnsReorder="True" AllowDragToGroup="True" ReorderColumnsOnClient="True">
      <Scrolling AllowScroll="True" UseStaticHeaders="True" />
      <Resizing AllowColumnResize="True" AllowResizeToFit="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="true" />
   </ClientSettings>
etc.
<PagerStyle AlwaysVisible="True" />
</MasterTableView>
<PagerStyle AlwaysVisible="True" />
<FilterMenu EnableImageSprites="True" />
</telerik:RadGrid>

The Menu is created using code in the RadGrid_ItemCreated event when the item is a GridPagerItem with the following code:-
RadMenu gridOptionsMenu = new RadMenu();
gridOptionsMenu.OnClientItemOpening = "GridMenuItemOpened";
gridOptionsMenu.ID = "gridOptionsMenu";
gridOptionsMenu.ExpandAnimation.Type = AnimationType.None;
RadMenuItem gridOptionMain = new RadMenuItem("Options");
RadMenuItem gridOptionTemplate = new RadMenuItem("");
gridOptionTemplate.Width = 300;
gridOptionMain.Items.Add(gridOptionTemplate);
gridOptionsMenu.Items.Add(gridOptionMain);
gridOptionsDiv.Controls.Add(gridOptionsMenu);
GridOptionsTemplate template = new GridOptionsTemplate();
foreach (RadMenuItem menuitem in gridOptionsMenu.GetAllItems())
{
   if (menuitem.Level > 0)
   {
      template.InstantiateIn(menuitem);
      template.SetValues(menuitem, theGridView.ClientID, theGridView.MasterTableView.IsFilterItemExpanded, false);
   }
}

the menu is shown when clicking the Options Menu item but is shown cut off as shown.

I have trued various css hacks and changing zIndex of various elements on the OnClientItemOpening in javascript but have got nowhere. What started out as a good idea and I thought reasonably easy to implement has turned into a few hours of frustration.

Please give me a hint on how to achieve this.




Kate
Telerik team
 answered on 24 Apr 2012
2 answers
171 views
Hello,

Need Help!I am using RadScheduler for displaying appointments.I have 2 Issues.

Issue 1 :
I am using DB2 database to display information for appointments.
I have a requirement to enable/disable button in each appointment based on database feild while the appointments are being loaded.
My Database field has either 'Y' or 'N'. If field is 'Y',disable the button.If field is 'N',enable the button on each appointment.
I added Button in Appointment Template along with other fields.

I referred this forum http://www.telerik.com/community/forums/aspnet-ajax/scheduler/i-wonder-if-it-is-not-available-in-rad-scheduler.aspx but couldn't helped me.

Code for the Reference:
<telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="CAETIME" DataKeyField="CAPPID"
                DataStartField="CASTIME" DataSubjectField="CAPVISIT" OnAppointmentCreated="RadScheduler1_AppointmentCreated"
                OnDataBound="RadScheduler1_DataBound" CustomAttributeNames="CACLIENT,CAAREP">
                <AppointmentTemplate>
                    <asp:Label ID="lblStart" runat="Server" Text='<%#Eval("Start")%>'></asp:Label>
                    <asp:Label ID="lblHyphen" runat="Server" Text='-'></asp:Label>
                    <asp:Label ID="lblEnd" runat="Server" Text='<%#Eval("End") %>'></asp:Label><br />
                    <b>Subject : </b>
                    <asp:Label ID="lblSub" runat="server" Text='<%#Eval("Subject")%>' /><br />
                    <b>Client : </b>
                    <asp:Label ID="lblClient" runat="Server" Text='<%#Eval("CACLIENT")%>'></asp:Label><br />
                    <asp:Button ID="Button1" runat="server" Text="Action Report" />
                </AppointmentTemplate>
            </telerik:RadScheduler>

Button1 should be disable/enable based on the field CAAREP(Action Report) which was include in CustomAttributeNames.

Issue 2:
My StartField and EndField are in DateTime format which are coming from database. I want to display only Time on Appointments.I tried the below way but it is displaying last appointment times on all the appointments.It is considering last appointment times.
public string stime, etime;
  DateTime dts, dte;
 
 using (DB2Command cmd = new DB2Command(viewAppT, conn))
           {
               cmd.CommandType = CommandType.Text;
               DB2DataAdapter adp = new DB2DataAdapter(cmd);
               DataSet dsAppt = new DataSet();
               adp.Fill(dsAppt);
               RadScheduler1.DataSource = dsAppt;
               DataView dv = dsAppt.Tables[0].DefaultView;
 
               RadScheduler1.DataSource = dv;
               RadScheduler1.DataBind();
               for (int i = 0; i < dv.Table.Rows.Count; i++)
               {
                   dts = Convert.ToDateTime(dv.Table.Rows[i]["CASTIME"]);
                   dte = Convert.ToDateTime(dv.Table.Rows[i]["CAETIME"]);
                   stime = dts.ToShortTimeString();
                   etime = dte.ToShortTimeString();
               }
                
                                            
               RadScheduler1.SelectedView = SchedulerViewType.MonthView;
               RadScheduler1.SelectedDate = Convert.ToDateTime(dv.Table.Rows[0]["CAETIME"]);
               RadScheduler1.Visible = true;
           }
<telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="CAETIME" DataKeyField="CAPPID"
               DataStartField="CASTIME" DataSubjectField="CAPVISIT" OnAppointmentCreated="RadScheduler1_AppointmentCreated"
               OnDataBound="RadScheduler1_DataBound" CustomAttributeNames="CACLIENT,CAAREP">
               <AppointmentTemplate>
                  <%-- <asp:Label ID="lblStart" runat="Server" Text='<%#Eval("Start")%>'></asp:Label>--%>
                   <asp:Label ID="Label1" runat="Server" Text='<%# stime %>'></asp:Label>
                   <asp:Label ID="lblHyphen" runat="Server" Text='-'></asp:Label>
                  <%-- <asp:Label ID="lblEnd" runat="Server" Text='<%#Eval("End") %>'></asp:Label><br />--%>
                     <asp:Label ID="Label2" runat="Server" Text='<%# etime %>'></asp:Label>
                   <b>Subject : </b>
                   <asp:Label ID="lblSub" runat="server" Text='<%#Eval("Subject")%>' /><br />
                   <b>Client : </b>
                   <asp:Label ID="lblClient" runat="Server" Text='<%#Eval("CACLIENT")%>'></asp:Label><br />
                   <asp:Button ID="Button1" runat="server" Text="Action Report" />
               </AppointmentTemplate>
           </telerik:RadScheduler>

Could someone Please provide me solution for this issue.

Many Thanks,
Sandhya.
Sandhya
Top achievements
Rank 1
 answered on 24 Apr 2012
2 answers
199 views
Hi all,
My program work as below. While uploading the files, my program show a progress bar to user by percentage.
However i find out that the progress bar is too big for me.
I try to reset the width and height but it only cut the progress bar into half instead of showing it in a smaller size.
Can anyone help?
My code is as per below:
<ajax:RadProgressArea runat="server" ID="RadProgressArea"  Width="20%"  Height ="20%"  ProgressIndicators="TotalProgressBar, TotalProgressPercent"  Skin="Outlook">
                     </ajax:RadProgressArea>
johnson lim
Top achievements
Rank 1
 answered on 24 Apr 2012
6 answers
59 views
Hi,
I'm using jqtransform (for decorate my page elements(textbox, checkbox ..)) and RadAjaxManager to update my form elements values. when my page loads jqtransform plugin runs and transforms my page, i update my page element then my updated element's becomes not transformed textbox display. how can i change my textbox value without lost its display property?
--Kaan
Vasil
Telerik team
 answered on 24 Apr 2012
1 answer
96 views
I have a RadListBox and this RadListBox contains Checkbox with each List Item. I want to Accessible that checkbox on UI according to 508 standards.  

 <telerik:RadListBox ID="rlbTestItem" runat="server" CheckBoxes="true"
  OnClientItemChecked="OnItemChecked" CssClass="radListBoxTestCss" />

On UI these checkboxes show an error that "No alternate text for Clickable Item".

Please suggest how checkboxes will accessible. 

Thanks.
Peter Filipov
Telerik team
 answered on 24 Apr 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Sergii
Top achievements
Rank 1
Iron
Iron
Iron
Dedalus
Top achievements
Rank 1
Iron
Iron
Lan
Top achievements
Rank 1
Iron
Doug
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?