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

Hi all, I have a client that is getting frustrated because when he has his GridView in edit mode (all rows in edit mode) he has to hit tab 5 times in order to get to the next row / record field he needs to add data to. Essentially it would be nice if he could tab down through the column vs. tabbing through the row.

 Is there a way to tab down through the column or at least fake that fuction?

 cheers

Princy
Top achievements
Rank 2
 answered on 27 Oct 2008
3 answers
202 views
Hi,
my Sliding Pane position get all messed up after I undocked it.  Probably cause by my DIV.  Here's a sample of my code:

 

 

 

<telerik:RadSplitter id="MainSplitter" runat="server" width="700" height="500" Skin="Inox" >

 

 

 

 

 

<div style="position:relative;top:100px;left:15px;" >

 

 

 

 

 

<telerik:RadPane id="LeftPane" runat="server" width="22" scrolling="none" >

 

 

 

 

 

<telerik:RadSlidingZone id="SlidingZone1" runat="server" width="22">

 

 

 

 

 

<telerik:RadSlidingPane CssClass="ApplyPosition" id="RadSlidingPane1" title="Menu" runat="server" width="150">

 

 

 

 

 

 

 

<!-- Place the content of the pane here -->

 

 

<table border="0" cellspacing="0" cellpadding="5" style="width:100%">

 

 

 

 

 

 

<tr>

 

 

 

 

 

<td>

 

 

 

 

 

<telerik:RadToolBar ID="RadToolBar1" Runat="server" Height="20px"

 

 

 

 

 

onbuttonclick="RadToolBar1_ButtonClick" Skin="Telerik" OnClientButtonClicked="OnClientButtonClicked">

 

 

 

 

 

<CollapseAnimation Duration="200" Type="OutQuint" />

 

 

 

 

 

<Items>

 

 

 

 

 

<telerik:RadToolBarButton runat="server" CommandName="Act" Text="Actualiser" ImageUrl="~/images/prorogation.gif" ></telerik:RadToolBarButton>

 

 

 

 

 

<telerik:RadToolBarButton runat="server" CommandName="RA" Text="Risk Analyst" Target="_parent" NavigateUrl="http://srvdweb02/riskanalyst/" ImageUrl="~/images/RA.jpg" ></telerik:RadToolBarButton>

 

 

 

 

 

 

</Items>

 

 

 

 

 

</telerik:RadToolBar>

 

 

 

 

 

</td>

 

 

 

 

 

</tr>

 

 

 

 

 

<tr>

 

 

 

 

 

<td style="height: 5px">

 

 

 

 

 

<telerik:RadTreeView

 

 

ID="RadTreeView1"

 

 

runat="server"

 

 

 

 

 

OnClientNodeClicking="onNodeClicking"

 

 

 

 

 

Skin="Sunset" >

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Dossiers" ImageUrl="~/images/folders.gif" NavigateUrl="~/Forms/Base/frmHome.aspx" Selected="true">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="Nouveau" value="NouveauDossier" ImageUrl="~/images/add2.gif" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Ouvrir" ImageUrl="~/images/icon_open.gif" NavigateUrl="frmRechDossier.aspx" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="FW08001 - Gestion Planeta" Value="Scenario1" Font-Bold="true" NavigateUrl="~/frmDossier.aspx" ImageUrl="~/images/folders.gif" Visible="false">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Interventions" Value="Intervention1" ImageUrl="~/images/move.gif">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="Nouvelle intervention" ImageUrl="~/images/add2.gif" Value="NouvelleIntervention" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Nouveau prˆt(Brouillon)" ImageUrl="~/images/pret.gif" NavigateUrl="frmIntervention.aspx" >

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Emprunteurs" ImageUrl="~/images/emprunteur.gif" NavigateUrl="~/frmEmprunteurPortefeuille.aspx">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="Gestion Planeta soci‚t‚ en commandite(100%)" ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx" />

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Propri‚t‚s" ImageUrl="~/images/house_icon.gif" >

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" value="Scenario1v1" Text="2120 Sherbrooke Est, Montreal" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="FW08002 - Ridgewood" Value="Scenario2" visible="false" Font-Bold="true" NavigateUrl="~/frmDossier.aspx" ImageUrl="~/images/folders.gif">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Interventions" ImageUrl="~/images/move.gif">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="Nouvelle intervention" ImageUrl="~/images/add2.gif" Value="NouvelleIntervention"/>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Nouveau prˆt (Approuv‚)" ImageUrl="~/images/pret.gif" NavigateUrl="frmIntervention.aspx">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Emprunteurs"

 

 

ImageUrl="~/images/emprunteur.gif"

 

 

NavigateUrl="~/frmEmprunteurPortefeuille.aspx">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="SEC Ridgewood"

 

 

ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx">

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

<telerik:RadTreeNode runat="server" ImageUrl="~/images/house_icon.gif"

 

 

Text="Propri‚t‚s">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" ImageUrl="~/images/house_icon.gif"

 

 

NavigateUrl="frmPropriete.aspx" Text="3465-75, Ridgewood, Montr‚al" Value="Scenario2np">

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

<telerik:RadTreeNode runat="server" Value="Scenario2refin" Text="Refinancement (Brouillon)" visible="false" ImageUrl="~/images/revisionFin.gif" NavigateUrl="frmIntervention.aspx">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Emprunteurs" ImageUrl="~/images/emprunteur.gif" NavigateUrl="~/frmEmprunteurPortefeuille.aspx">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="Capital BLF inc." ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx" />

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Propri‚t‚s" ImageUrl="~/images/house_icon.gif">

 

 

 

 

 

<Nodes>

 

 

<telerik:RadTreeNode runat="server" Text="3465-75, Ridgewood, Montr‚al" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Emprunteurs" ImageUrl="~/images/emprunteur.gif">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Nouveau" ImageUrl="~/images/add2.gif" Value="NouveauEmprunteur" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Ouvrir" ImageUrl="~/images/icon_open.gif" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Capital BLF inc." ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx"></telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Di Lilo" ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx"></telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Gestion Planeta soci‚t‚ en commandite" ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx"></telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="James Bond" ImageUrl="~/images/emprunteur.gif" NavigateUrl="frmEmprunteur.aspx"></telerik:RadTreeNode>

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Propri‚t‚s" ImageUrl="~/images/house_icon.gif">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Ouvrir" ImageUrl="~/images/icon_open.gif" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="2120 Sherbrooke Est Montreal" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="3465-75 Ridgewood, Montreal" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="845-65 de Maisonneuve Montreal" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="1570-80 St-Timoth‚e Montreal" ImageUrl="~/images/house_icon.gif" NavigateUrl="frmPropriete.aspx" />

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Administration" ImageUrl="~/images/12administrativeTools.gif">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Tables ParamÅ tres">

 

 

 

 

 

<Nodes>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Utilisateurs" NavigateUrl="~/Forms/AdminFamily/frmUser.aspx" ImageUrl="~/images/user.gif" >

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

<telerik:RadTreeNode runat="server" Text="Devises" ImageUrl="~/images/currency.gif">

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

</Nodes>

 

 

 

 

 

</telerik:RadTreeNode>

 

 

 

 

 

</Nodes>

 

 

</telerik:RadTreeNode>

 

 

</Nodes>

 

 

 

 

 

<CollapseAnimation Type="OutQuint" Duration="100"></CollapseAnimation>

 

 

 

 

 

<ExpandAnimation Duration="100"></ExpandAnimation>

 

 

 

 

 

</telerik:RadTreeView>

 

 

 

 

 

</td>

 

 

 

 

 

</tr>

 

 

 

 

 

</table>

 

 

 

 

 

 

 

 

</telerik:RadSlidingPane>

 

 

 

 

 

 

</telerik:RadSlidingZone>

 

 

 

 

 

</telerik:RadPane>

 

Svetlina Anati
Telerik team
 answered on 27 Oct 2008
1 answer
154 views
I currently am trying to put together an online mail viewer for our internal network. I'm using panes with a RadGrid in the top pain and a RadEditor on the bottom pane. Simple enough!

Now, what I would like to be able to do is via ajax be able to to "click" a row and populate the RadEditor in the bottom pane with the corresponding body of the message...just like a typical mail viewer works.

I'm having troubles getting a AJAX request to fire and update the panel. I know you have to enable ajax on the grid. But then what?

Do I add a client side rowclick event that does the AJAX part or is there another way.

Code examples would be awesome if available. I've studied the examples on the site that I could find that even remotely did what I was wanting, but haven't been able to successfully piece it all together.

Thanks in advance!
-Brent
Princy
Top achievements
Rank 2
 answered on 27 Oct 2008
1 answer
148 views
Hi,

I have a Grid, have client event row edit and item created event.
when user select the row in client side, 
it will popup a summary window. 
when user click edit by click the edit link, it will popup another edit window. 
however, it will popup the summary window.
And I don't want to open the sumamry window when user click edit link.
How to do that? please hlep.

Regards,

Paul

test.aspx

                            <telerik:RadGrid ID="RadGrid1"
                                AllowMultiRowSelection="true"
                                AllowMultiRowEdit="true"
                                Skin="WebBlue" runat="server"
                                AllowAutomaticDeletes="True"
                                AllowAutomaticInserts="True"
                                Width="97%" PageSize="15"
                                AllowAutomaticUpdates="True"
                                AllowPaging="True"
                                AutoGenerateColumns="False"
                                ShowStatusBar="false"    
                                AllowSorting="true"
                                EnableAJAX="true"
                                EnableAJAXLoadingTemplate="true"
                                AllowFilteringByColumn="true"
                                LoadingTemplateTransparency="50"
                                OnItemCreated="RadGrid1_ItemCreated"
                                OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged"
                                OnNeedDataSource="RadGrid1_NeedDataSource">
                            <ClientSettings AllowKeyboardNavigation="true"
                                EnablePostBackOnRowClick="false">
                                <Selecting AllowRowSelect="true" />
                                <ClientEvents OnRowSelected="RowSelected" />
                            </ClientSettings>
....
                function RowSelected(sender, args) {
                    window.open("propertyDetailsPopup.aspx?PropertyID=" + args.getDataKeyValue("Property_ID"), 'propertydetails', 'width=900, height=700');                
                }

----------------
test.cs

       if (e.Item is GridDataItem)
        {
            HyperLink editLink = e.Item.FindControl("EditLink") as HyperLink;
            editLink.Attributes["href"] = "#";
            editLink.Attributes["onclick"] = string.Format("return ShowEditForm('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Property_ID"], e.Item.ItemIndex);
        }


Yavor
Telerik team
 answered on 27 Oct 2008
1 answer
61 views
Hello,

It seems to be an error when you say in the first Troubleshooting paragraph that controls could be access in js with this code:
 var grid = $find(<%= RadGrid1.ClientID %>);

Shouldn't be  var grid = $find('<%= RadGrid1.ClientID %>'); ?

CS
Daniel
Telerik team
 answered on 27 Oct 2008
1 answer
133 views

I'm adding a RadContextMenu to a grid with:

  • ClientSettings-AllowRowSelect=true
  • AllowMultiRowSelection=true.

I'm trying to control the behavior of the selected state of the rows in the following way:

  1. If the context menu is activated over a row that was previously selected, then that row and any other selected row should remain selected.
    This works fine.
  2. If the context menu is activated over a row that was not previously selected, then select the row and deselect all others.
    This is the problem I'm having: If I right click on a grid row that is not selected, it selects that row and leaves all others selected. In the client-side context menu script, I'm trying to deselect all rows and then reselect the clicked row. Is this possible? I can't seem to figure out how to identify the row that was "right-clicked".

Thanks!

Rosen
Telerik team
 answered on 27 Oct 2008
1 answer
55 views
I have a DetailsView with a templateField that has a RadEditor in it.  When I enter edit mode in the DetailsView, if the DetailsView is in a RadAjaxPanel, or the RadScriptManager is set to activate the DetailsView, an error gets thrown in Internet Explorer.  Everything works fine in Firefox, but I need to use IE.  When the edit template loads, the Design, HTML, and Preview buttons at the bottom of the editor are out of place and the formatting on the above buttons is not correct.  Turning off AJAX enables everything to work without error.
Rumen
Telerik team
 answered on 27 Oct 2008
1 answer
126 views
Hi,

I have a page with several images. When I click on one of them, a radtooltip opens with a RadAjaxPanel+RadAjaxLoadingPanel and some buttons in it.

The tooltip position is defined like that : RelativeTo="BrowserWindow"

How can I make the RadAjaxLoadingPanel follow the tooltip when the main page is scrolled ?
Right now the tooltip follows the page when I scroll it but that's not the case for the RadAjaxLoadingPanel  when I fired a button on it (it always shows on the top of the page, where it was first loaded I guess).

EDIT : Problem occurs in firefox 3.0.3, not in IE 7


Svetlina Anati
Telerik team
 answered on 27 Oct 2008
1 answer
104 views
I am working with the RadMenu for ASP.NET AJAX Q2 2008, specifically with the Hay skin.  I tested the menu with IE 7 and FireFox 3.0.3 and the menu is displaying perfectly.  However, when I do the same test with Safari 3.1.2 for PC, I realize that the menu looks a little different.  For example some of the right borders of some items are not displayed.  I thought that maybe it was a mistake I did, so I decided to go to the demo site of telerik to check if I get the same results.
http://demos.telerik.com/ASPNET/Prometheus/Menu/Examples/Appearance/Skins/DefaultCS.aspx
When I select the Hay skin on the demo page, I see the same display errors. So I have the following questions:
- Are you able to reproduce the same problem?
- Has this bug reported before?
- If so, is there a workaround I can try... maybe create a custom skin and modify the css file?
I know it would be easier to explain the errors if I could send a screenshot of the problem, but I hope you understand my problem.
Thanks in advance for any help!
Yana
Telerik team
 answered on 27 Oct 2008
7 answers
345 views
Hi, I'm using a WebUserControl as my insert/edit form in a RadGrid and when I try and get the values from the controls on the WebUserControl they are all coming back as empty strings (in the case of a text box) any ideas as to what I may be doing wrong? The code I'm using follows below, any help would be appreciated; thanks!


Web Page
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="channeleditor.aspx.cs" Inherits="Nemo.management.ventriloservers.channeleditor" MasterPageFile="~/resources/site.master" %> 
<asp:Content ID="Body" ContentPlaceHolderID="HtmlBody" runat="server"> 
    <div class="ControlPanelContainer"> 
        <telerik:RadAjaxPanel ID="ChannelsManagementPanel" runat="server"> 
        <p> 
            <asp:Label ID="lblServerID" runat="server" Text="Server ID:" AssociatedControlID="tbxServerID" /> 
            <telerik:RadNumericTextBox ID="tbxServerID" runat="server" NumberFormat-AllowRounding="false" NumberFormat-DecimalDigits="0" NumberFormat-GroupSizes="9" /> 
            <asp:ImageButton ID="ConnectServer" runat="server" ImageAlign="Middle" ImageUrl="~/resources/images/icons/connect.gif" OnClick="ConnectServer_Click" /> 
            <asp:ImageButton ID="DisconnectServer" runat="server" ImageAlign="Middle" ImageUrl="~/resources/images/icons/disconnect.gif" OnClick="DisconnectServer_Click" Visible="false" /> 
        </p> 
        <telerik:RadGrid ID="ChannelsList" runat="server" AutoGenerateColumns="false" Skin="Black" Width="95%"  
            OnItemDataBound="ChannelsList_ItemDataBound" OnInsertCommand="ChannelsList_InsertCommand"> 
            <MasterTableView AllowAutomaticInserts="true" AllowAutomaticDeletes="true" AllowAutomaticUpdates="true" EditMode="EditForms" 
                CommandItemDisplay="Top" HierarchyDefaultExpanded="false" DataKeyNames="ID,ParentID" FilterExpression="ParentID = Guid.Empty"> 
                <CommandItemSettings AddNewRecordImageUrl="../../resources/images/icons/channel_add.gif" AddNewRecordText="New Channel" RefreshText="" /> 
                <CommandItemStyle Font-Names="Tahoma" Font-Bold="false" Font-Size="10pt" /> 
                <HeaderStyle Font-Names="Tahoma" Font-Bold="true" Font-Size="10pt" ForeColor="Gray" /> 
                <ItemStyle Font-Names="Tahoma" Font-Bold="false" Font-Size="10pt" /> 
                <AlternatingItemStyle Font-Names="Tahoma" Font-Bold="false" Font-Size="10pt" BackColor="#3B3B3B" /> 
                <Columns> 
                    <telerik:GridButtonColumn UniqueName="AddSubChannel" ButtonType="ImageButton" ImageUrl="~/resources/images/icons/add.gif" CommandName="InitInsert" CommandArgument="SubChannel"> 
                        <ItemStyle Width="3%" HorizontalAlign="Center" /> 
                    </telerik:GridButtonColumn> 
                    <telerik:GridButtonColumn UniqueName="EditChannel" ButtonType="ImageButton" ImageUrl="~/resources/images/icons/edit.gif" CommandName="Edit"> 
                        <ItemStyle Width="3%" HorizontalAlign="Center" /> 
                    </telerik:GridButtonColumn> 
                    <telerik:GridBoundColumn UniqueName="DisplayName" HeaderText="Display Name" DataField="Name"> 
                        <ItemStyle Width="35%" /> 
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn UniqueName="Comment" HeaderText="Comment" DataField="Comment"> 
                        <ItemStyle Width="29%" /> 
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn UniqueName="ProtectionMode" HeaderText="Protection Mode" DataField="ProtMode"> 
                        <ItemStyle Width="15%" /> 
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn UniqueName="VoiceMode" HeaderText="Voice Mode" DataField="VoiceMode"> 
                        <ItemStyle Width="15%" /> 
                    </telerik:GridBoundColumn> 
                </Columns> 
                <SelfHierarchySettings KeyName="ID" ParentKeyName="ParentID" /> 
                <EditFormSettings EditFormType="WebUserControl" UserControlName="~/resources/controls/newchannel.ascx"> 
 
                </EditFormSettings> 
            </MasterTableView> 
        </telerik:RadGrid> 
        </telerik:RadAjaxPanel> 
    </div> 
</asp:Content> 

Web Page Code:
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using TypeFrag.Hosting; 
using Telerik.Web.UI; 
 
namespace Nemo.management.ventriloservers 
{ 
    public partial class channeleditor : System.Web.UI.Page 
    { 
        protected List<string> protectedModes = new List<string>(); 
        protected List<string> voiceModes = new List<string>(); 
 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!IsPostBack) 
            { 
                tbxServerID.Enabled = true; 
                ConnectServer.Visible = true; 
                DisconnectServer.Visible = false; 
            } 
 
            protectedModes.Add(ProtectedMode.OpenToPublic.ToString()); 
            protectedModes.Add(ProtectedMode.ChannelPassword.ToString()); 
            protectedModes.Add(ProtectedMode.UserAuthorization.ToString()); 
 
            voiceModes.Add(VoiceMode.Normal.ToString()); 
            voiceModes.Add(VoiceMode.Queued.ToString()); 
            voiceModes.Add(VoiceMode.Muted.ToString()); 
 
            //tbxServerID.Text = "36920"; // Rick's test server 
            tbxServerID.Text = "12248"; // User server with a lot of channels, DO NOT EDIT 
            ConnectServer_Click(null, null); 
        } 
 
        protected void ConnectServer_Click(object sender, ImageClickEventArgs e) 
        { 
            int serverID; 
 
            if (int.TryParse(tbxServerID.Text, out serverID)) 
            { 
                ControlPanelInterface cpi = new ControlPanelInterface(serverID); 
                ChnFile channelsFile = cpi.GetChannels(); 
                Session.Add("ChannelsFile", channelsFile); 
 
                tbxServerID.Enabled = false; 
                ConnectServer.Visible = false; 
                DisconnectServer.Visible = true; 
 
                InitializeEditor(); 
            } 
        } 
 
        protected void DisconnectServer_Click(object sender, ImageClickEventArgs e) 
        { 
 
        } 
 
        protected void InitializeEditor() 
        { 
            ChnFile channelsFile = Session["ChannelsFile"] as ChnFile; 
             
            ChannelsList.DataSource = channelsFile.Channels; 
            ChannelsList.DataBind(); 
        } 
 
        protected void ChannelsList_ItemDataBound(object sender, GridItemEventArgs e) 
        { 
            if (e.Item is GridDataItem) 
            { 
                GridDataItem dataItem = e.Item as GridDataItem; 
                if (dataItem["ProtectionMode"].Text == ProtectedMode.OpenToPublic.ToString()) 
                { 
                    dataItem["ProtectionMode"].Text = "Open to Public"; 
                } 
                else if (dataItem["ProtectionMode"].Text == ProtectedMode.ChannelPassword.ToString()) 
                { 
                    dataItem["ProtectionMode"].Text = "Channel Password"; 
                } 
                else if (dataItem["ProtectionMode"].Text == ProtectedMode.UserAuthorization.ToString()) 
                { 
                    dataItem["ProtectionMode"].Text = "User Authorization"; 
                } 
            } 
        } 
 
        protected void ChannelsList_InsertCommand(object sender, GridCommandEventArgs e) 
        { 
            GridEditableItem editedItem = e.Item as GridEditableItem; 
            UserControl insertForm = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); 
 
            ChnFile channelsFile = Session["ChannelsFile"] as ChnFile; 
            Channel newChannel = new Channel(); 
            newChannel.Name = (insertForm.FindControl("tbxDisplayName") as RadTextBox).Text; 
            newChannel.Phonetic = (insertForm.FindControl("tbxPhoneticName") as RadTextBox).Text; 
            newChannel.Comment = (insertForm.FindControl("tbxComment") as RadTextBox).Text; 
            newChannel.AllowRecording = GetBOOL((insertForm.FindControl("ckAllowRecording") as CheckBox).Checked); 
            newChannel.AllowPaging = GetBOOL((insertForm.FindControl("ckAllowPaging") as CheckBox).Checked); 
            newChannel.AllowTtsBinds = GetBOOL((insertForm.FindControl("ckAllowTTSBinds") as CheckBox).Checked); 
            newChannel.PhantomMode = GetBOOL((insertForm.FindControl("ckAllowPhantoms") as CheckBox).Checked); 
            newChannel.AllowCrossChannelXmit = GetBOOL((insertForm.FindControl("ckAllowCrossChanXmit") as CheckBox).Checked); 
            newChannel.AllowWaveBinds = GetBOOL((insertForm.FindControl("ckAllowWaveBinds") as CheckBox).Checked); 
            newChannel.AllowU2U = GetBOOL((insertForm.FindControl("ckAllowU2UTransmit") as CheckBox).Checked); 
            newChannel.AllowGuestToJoin = GetBOOL((insertForm.FindControl("ckAllowGuests") as CheckBox).Checked); 
 
            if ((insertForm.FindControl("tbxPassword") as RadTextBox).Text.Trim().Length > 0) 
            { 
                newChannel.EncPassChan = TypeFrag.Hosting.Password.Hash((insertForm.FindControl("tbxPassword") as RadTextBox).Text); 
            } 
 
            string protectedMode = (insertForm.FindControl("cboProtectedMode") as RadComboBox).SelectedValue; 
            if (protectedMode == ProtectedMode.OpenToPublic.ToString()) 
            { 
                newChannel.ProtMode = ProtectedMode.OpenToPublic; 
            } 
            else if (protectedMode == ProtectedMode.UserAuthorization.ToString()) 
            { 
                newChannel.ProtMode = ProtectedMode.UserAuthorization; 
            } 
            else if (protectedMode == ProtectedMode.ChannelPassword.ToString()) 
            { 
                newChannel.ProtMode = ProtectedMode.ChannelPassword; 
            } 
 
            string voiceMode = (insertForm.FindControl("cboVoiceMode") as RadComboBox).SelectedValue; 
            if (voiceMode == VoiceMode.Muted.ToString()) 
            { 
                newChannel.VoiceMode = VoiceMode.Muted; 
            } 
            else if (voiceMode == VoiceMode.Normal.ToString()) 
            { 
                newChannel.VoiceMode = VoiceMode.Normal; 
            } 
            else if (voiceMode == VoiceMode.Queued.ToString()) 
            { 
                newChannel.VoiceMode = VoiceMode.Queued; 
            } 
 
            newChannel.ExemptFromInactivity = GetBOOL((insertForm.FindControl("ckIgnoreInactivity") as CheckBox).Checked); 
            newChannel.DisableSoundEvts = GetBOOL((insertForm.FindControl("ckDisableSoundEvents") as CheckBox).Checked); 
            newChannel.TimeLimit = int.Parse((insertForm.FindControl("tbxTransmitTimeLimit") as RadNumericTextBox).Text); 
            newChannel.RankLevel = int.Parse((insertForm.FindControl("tbxTransmitRankLevel") as RadNumericTextBox).Text); 
            newChannel.MaxClients = int.Parse((insertForm.FindControl("tbxMaxClients") as RadNumericTextBox).Text); 
             
            channelsFile.Channels.Add(newChannel); 
            Session["ChannelsFile"] = channelsFile; 
 
            ChannelsList.DataSource = channelsFile.Channels; 
            ChannelsList.DataBind(); 
        } 
 
        private bool GetBoolean(BOOL b) 
        { 
            if (b.ToString() == "TRUE" || b.ToString() == "1") 
            { 
                return true; 
            } 
            else 
            { 
                return false; 
            } 
        } 
 
        private BOOL GetBOOL(bool b) 
        { 
            if (b) 
            { 
                return BOOL.TRUE; 
            } 
            else 
            { 
                return BOOL.FALSE; 
            } 
        } 
    } 
} 
 

Web User Control Code:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="newchannel.ascx.cs" Inherits="Nemo.resources.controls.newventrilouser" %> 
 
<table width="520px" style="font-family:Tahoma;font-size:10pt;font-weight:normal;border-collapse:collapse;" rules="none"> 
    <tr class="EditFormHeader"> 
        <td colspan="5">Create New Channel</td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"><asp:Label ID="lblDisplayName" AssociatedControlID="tbxDisplayName" Text="Display Name:" runat="server" /></td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadTextBox ID="tbxDisplayName" runat="server" Skin="Gray" MaxLength="255" Width="200px" /> 
        </td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"><asp:Label ID="lblPhoneticName" AssociatedControlID="tbxPhoneticName" Text="Phonetic Name:" runat="server" /></td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadTextBox ID="tbxPhoneticName" runat="server" Skin="Gray" MaxLength="255" Width="200px" /> 
        </td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"><asp:Label ID="lblComment" AssociatedControlID="tbxComment" Text="Comment:" runat="server" /></td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadTextBox ID="tbxComment" runat="server" Skin="Gray" MaxLength="255" Width="200px" /> 
        </td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"><asp:Label ID="lblPassword" AssociatedControlID="tbxPassword" Text="Channel Password:" runat="server" /></td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadTextBox ID="tbxPassword" runat="server" Skin="Gray" MaxLength="255" Width="200px" TextMode="Password" /> 
        </td> 
    </tr> 
    <tr> 
        <td style="width:40%;"></td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowRecording" Text="Allow Recording" runat="server" /> 
        </td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowCrossChanXmit" Text="Allow Cross-Chan Transmit" runat="server" /> 
        </td> 
    </tr> 
    <tr> 
        <td style="width:40%;"></td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowPaging" Text="Allow Paging" runat="server" /> 
        </td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowWaveBinds" Text="Allow Wave File Bind" runat="server" /> 
        </td> 
    </tr> 
    <tr> 
        <td style="width:40%;"></td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowTTSBinds" Text="Allow TTS Binds" runat="server" /> 
        </td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowU2UTransmit" Text="Allow U2U Transmit" runat="server" /> 
        </td> 
    </tr> 
    <tr> 
        <td style="width:40%;"></td>     
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowPhantoms" Text="Allow Phantoms" runat="server" /> 
        </td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowGuests" Text="Allow Guest Accounts" runat="server" /> 
        </td> 
    </tr> 
    <tr> 
        <td style="width:40%;"></td>     
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowVoiceTargets" Text="Allow Voice Targets" runat="server" /> 
        </td> 
        <td align="left" colspan="2" style="width:30%;font-size:8pt;"> 
            <asp:CheckBox ID="ckAllowCommandingTargets" Text="Allow Cmding Targets" runat="server" /> 
        </td> 
    </tr> 
    <tr>    
        <td align="right" style="width:40%;"> 
            <asp:Label ID="lblProtectedMode" Text="Protected Mode:" runat="server" /> 
        </td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadComboBox ID="cboProtectedMode" runat="server" Skin="Gray" Width="200px"> 
                <Items> 
                    <telerik:RadComboBoxItem Text="Open to Public" Value="OpenToPublic" /> 
                    <telerik:RadComboBoxItem Text="Channel Password" Value="ChannelPassword" /> 
                    <telerik:RadComboBoxItem Text="User Authorization" Value="UserAuth" /> 
                </Items> 
            </telerik:RadComboBox> 
        </td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"> 
            <asp:Label ID="lblVoiceMode" Text="Voice Mode:" runat="server" /> 
        </td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadComboBox ID="cboVoiceMode" runat="server" Skin="Gray" Width="200px"> 
                <Items> 
                    <telerik:RadComboBoxItem Text="Normal" Value="Normal" /> 
                    <telerik:RadComboBoxItem Text="Queued" Value="Queued" /> 
                    <telerik:RadComboBoxItem Text="Muted" Value="Muted" /> 
                </Items> 
            </telerik:RadComboBox> 
        </td> 
    </tr> 
    <tr> 
        <td align="right" style="width:40%;"> 
            <asp:Label ID="lblChannelCodec" Text="Channel Codec/Format:" runat="server" /> 
        </td> 
        <td colspan="4" style="width:60%;"> 
            <telerik:RadComboBox ID="cboChannelCodec" runat="server" Skin="Gray" Width="200px"> 
            </telerik:RadComboBox> 
        </td> 
    </tr> 
    <tr> 
        <td colspan="2" style="width:50%;"> 
            <asp:CheckBox ID="ckIgnoreInactivity" Text="Exempt from Inactivity Timers" runat="server" /> 
        </td> 
        <td colspan="3" align="right" style="width:50%;"> 
            <asp:Label ID="lblTransmitTimeLimit" Text="Transmit Time Limit:" runat="server" /> 
            <telerik:RadNumericTextBox ID="tbxTransmitTimeLimit" Skin="Gray" NumberFormat-AllowRounding="false" NumberFormat-DecimalDigits="0" runat="server" Width="25px" /> 
        </td> 
    </tr> 
    <tr> 
        <td colspan="2" style="width:50%;"> 
            <asp:CheckBox ID="ckDisableGuestXmit" Text="Disable Guest Account Transmit" runat="server" /> 
        </td> 
        <td colspan="3" align="right" style="width:50%;"> 
            <asp:Label ID="lblTransmitRankLevel" Text="Transmit Rank Level (0-100):" runat="server" /> 
            <telerik:RadNumericTextBox ID="tbxTransmitRankLevel" Skin="Gray" NumberFormat-AllowRounding="false" NumberFormat-DecimalDigits="0" MaxValue="100" runat="server" Width="25px" /> 
        </td> 
    </tr> 
    <tr> 
        <td colspan="2" style="width:50%;"> 
            <asp:CheckBox ID="ckDisableSoundEvents" Text="Disable Sound Events" runat="server" /> 
        </td> 
        <td colspan="3" align="right" style="width:50%;"> 
            <asp:Label ID="lblMaxClients" Text="Max Clients:" runat="server" /> 
            <telerik:RadNumericTextBox ID="tbxMaxClients" Skin="Gray" NumberFormat-AllowRounding="false" NumberFormat-DecimalDigits="0" runat="server" Width="25px" /> 
        </td> 
    </tr> 
    <tr> 
        <td colspan="3" style="padding-top:15px;"></td> 
        <td align="right" style="padding-top:15px;"> 
            <asp:LinkButton ID="btnInsert" Text="Create" runat="server" CommandName="PerformInsert" /> 
        </td> 
        <td align="right" style="padding-top:15px;"> 
            <asp:LinkButton ID="btnCancel" Text="Cancel" runat="server" CommandName="Cancel" CausesValidation="false" /> 
        </td> 
    </tr> 
</table>    

Sebastian
Telerik team
 answered on 27 Oct 2008
Narrow your results
Selected tags
Tags
+? more
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?