Telerik Forums
UI for ASP.NET AJAX Forum
3 answers
124 views
I am using the 2008 Q3 1314 version.  I have two questions/issues:

First, I have a problem where the very first row of my RadGrid (that has 4 rows of data, for example) does not initially display any values when using GridDropDownColumn columns.  After editing that first row and canceling changes, the row properly displays values.  Is it true that this was fixed in a later version?

For this first problem, it only happens when I use a GridDropDownColumnEditor tagSo I ask again, has this been fixed in a more recent version?

Second, if this RadGrid is initially empty (zero rows) and I attempt to insert the first row, the GridDropDownColumn columns (which use RadComboBox) are all empty. This is not the case if I attempt to insert a new row in this RadGrid that has pre-existing rows.  In that case, the RadComboBoxes all show the appropriate list of selections.  I know that, in either case, the ListDataMember tables are available and populated in the data source.  Is this also something that has been fixed in a later release, or am I not considering something. 

I found the second problem and fixed the bug.

Thanks
Frank 
LANCE NECKAR
Top achievements
Rank 1
 answered on 13 Apr 2010
3 answers
286 views
I have a radgrid in a tabstrip radmultipage and when i click on the add new record the grid returns completely blank.  This is a very urgent matter, so if someone could help me asap, it would be greatly appreciated.  All of the grids in the tabstrip are reacting the same way.

aspx code:

<%@ Page Language="C#" MasterPageFile="~/MasterPages/SiteMaster.master" Title="Manage Provider" AutoEventWireup="true" Inherits="Pgi.Hub.Administration.providerAddEdit" Codebehind="providerAddEdit.aspx.cs" %> 
<%@ Register TagPrefix="radM" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> 
<asp:Content id="Content1" ContentPlaceHolderID="javascript" runat="server"
    <script type="text/javascript"
 
        $(document).ready( 
            function() { 
                $("#<%=chkModeratorSameAsTitle.ClientID %>").click(chkModeratorSameAsTitle_click); 
                $("#<%=chkAttendeeSameAsTitle.ClientID %>").click(chkAttendeeSameAsTitle_click); 
            } 
        ); 
 
        function chkModeratorSameAsTitle_click() { 
            var txtModerator = $get('<%= txtDefaultModeratorEmailSubject.ClientID %>'); 
 
            if (eval($get('<%= chkModeratorSameAsTitle.ClientID %>')).checked) { 
                txtModerator.disabled = true
            } 
            else { 
                txtModerator.disabled = false
            } 
 
        } 
 
        function chkAttendeeSameAsTitle_click() { 
            var txtAttendee = $get('<%= txtDefaultAttendeeEmailSubject.ClientID %>'); 
 
            if (eval($get('<%= chkAttendeeSameAsTitle.ClientID %>')).checked) { 
                txtAttendee.disabled = true
            } 
            else { 
                txtAttendee.disabled = false
            } 
        } 
 
        function ValidateDefaultModeratorEmailSubject(source, args) { 
            var chkModerator = $get('<%= chkModeratorSameAsTitle.ClientID %>'); 
            args.IsValid = false
 
            if ((chkModerator.checked) || 
                ((!chkModerator.checked) && jQuery.trim(args.Value).length > 0)) { 
                args.IsValid = true
            } 
 
        } 
 
        function ValidateDefaultAttendeeEmailSubject(source, args) { 
            var chkAttendee = $get('<%= chkAttendeeSameAsTitle.ClientID %>'); 
            args.IsValid = false
 
            if ((chkAttendee.checked) || 
                ((!chkAttendee.checked) && jQuery.trim(args.Value).length > 0)) { 
                args.IsValid = true
            } 
 
        } 
 
 
     
     
         
            var hasChanges, inputs, dropdowns, editedRow; 
 
            function RowClick(sender, eventArgs) { 
                if (editedRow && hasChanges) { 
                    hasChanges = false
                    if (confirm("Update changes?")) { 
 
                        $find("<%= radGridHelpLinks.MasterTableView.ClientID %>").updateItem(editedRow); 
                    } 
                } 
            } 
 
            function RowDblClick(sender, eventArgs) { 
                editedRow = eventArgs.get_itemIndexHierarchical(); 
                $find("<%= radGridHelpLinks.MasterTableView.ClientID %>").editItem(editedRow); 
            } 
 
            function GridCommand(sender, args) { 
                if (args.get_commandName() != "Edit") { 
                    editedRow = null
                } 
            } 
 
            function GridCreated(sender, eventArgs) { 
                var gridElement = sender.get_element(); 
                var elementsToUse = []; 
                inputs = gridElement.getElementsByTagName("input"); 
                for (var i = 0; i < inputs.length; i++) { 
                    var lowerType = inputs[i].type.toLowerCase(); 
                    if (lowerType == "hidden" || lowerType == "button") { 
                        continue; 
                    } 
 
                    Array.add(elementsToUse, inputs[i]); 
                    inputs[i].onchange = TrackChanges
                } 
               
 
                setTimeout(function() { if (elementsToUse[0]) elementsToUse[0].focus(); }, 100); 
            } 
 
            function TrackChanges(e) { 
                hasChanges = true
            } 
          
    </script> 
     
</asp:Content> 
<asp:Content ContentPlaceHolderID="mainContent" ID="pageContent" runat="server"
    <netspoke:pageHeading  
            ID="pageheading"  
            runat="server"            
            ShowRequiredText="true" /> 
    <netspoke:resultHandler runat="server" ID="resultHandler" /> 
    <asp:ValidationSummary  
        runat="server"  
        ID="validationSummary"  
        DisplayMode="BulletList"  
        ShowMessageBox="false" 
        ShowSummary="true"  
        CssClass="warningResponse"  
        HeaderText="Unable to save the provider. The following problems were encountered with your information:"  
         ValidationGroup="providerValidationGroup"/> 
     
     
    <radM:RadTabStrip ID="tabstripProviderOptions" runat="server" Orientation="HorizontalTop" 
        SelectedIndex="0" CausesValidation="true" ValidationGroup="providerValidationGroup" MultiPageID="MultiPageBranding" Align="Left"  
        AutoPostBack="true" Skin="Vista" OnTabClick="onTabClick"
        <Tabs> 
            <radM:RadTab Text="Add Provider" Value="1"  runat="server" PageViewID="addProvider"
            </radM:RadTab> 
            <radM:RadTab Text="Linked Enterprises" Value="2" runat="server" PageViewID="linkedEnterprises"
            </radM:RadTab> 
            <radM:RadTab runat="server" Value="3" PageViewID="netspokeOptions"
            </radM:RadTab> 
            <radM:RadTab Text="Branding Options" Value="4" runat="server" SelectedIndex="0"
                <Tabs> 
                    <radM:RadTab Text="Web Conf. Logo" Value="5" runat="server" PageViewID="webConfLogo"></radM:RadTab> 
                    <radM:RadTab Text="Hub Logo" Value="6" runat="server" PageViewID="hubLogo"></radM:RadTab> 
                    <radM:RadTab Text="Marketing Links" Value="7" runat="server" PageViewID="marketingLinks"></radM:RadTab> 
                    <radM:RadTab Text="Marketing Images" Value="8" runat="server" PageViewID="marketingImages"></radM:RadTab> 
                    <radM:RadTab Text="Application Title" Value="9" runat="server" PageViewID="appTitle"></radM:RadTab> 
                    <radM:RadTab Text="Getting Started Text" Value="10" runat="server" PageViewID="gettingStartedText"></radM:RadTab> 
                    <radM:RadTab Text="Help Links" Value="11" runat="server" PageViewID="helpLinks"></radM:RadTab> 
                    <radM:RadTab Text="Quick Links" Value="12" runat="server" PageViewID="quickLinks"></radM:RadTab> 
                    <radM:RadTab Text="Skin" Value="13" runat="server" PageViewID="skin"></radM:RadTab> 
                </Tabs> 
            </radM:RadTab> 
        </Tabs> 
    </radM:RadTabStrip>     
    <radM:RadMultiPage ID="MultiPageBranding" runat="server" SelectedIndex="0" CssClass="multiPage">     
        <radM:RadPageView runat="server" ID="addProvider"
            <div class="yui-gd"
                <div class="yui-g first leftDiv"
                    <asp:Localize ID="locProviderName" runat="server" Text="Provider Name:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locProviderType" runat="server" Text="Provider Type:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locHubGroupDomain" runat="server" Text="Hub Group Domain:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locDefaultMeetingServer" Text="Default Meeting Server:" runat="server" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locSecureDefaultMeetingServer" Text="Secure Default Meeting Server:" 
                        runat="server" />&nbsp;<span class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locAppShareHost" Text="App Share Host:" runat="server" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locCustomerHomePage" runat="server" Text="Customer Home Page:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locDefaultConferenceTitle" runat="server" Text="Default Conference Title:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locDefaultModeratorEmailSubject" runat="server" Text="Default Moderator Email Subject:" />&nbsp;<span 
                        class="required">*</span> 
                    <br /> 
                    <asp:Localize ID="locDefaultAttendeeEmailSubject" runat="server" Text="Default Attendee Email Subject:" />&nbsp;<span 
                        class="required">*</span> 
                </div> 
                <div class="yui-g rightDiv"
                    <asp:TextBox runat="server" ID="txtProviderName" Width="214px" /> 
                    <asp:RequiredFieldValidator ID="rvProviderName" runat="server" ControlToValidate="txtProviderName" 
                        Display="Dynamic" ErrorMessage="Provider Name is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    &nbsp; 
                    <asp:RegularExpressionValidator ID="revProviderName" runat="server" ErrorMessage="Only alphanumeric characters and spaces allowed." 
                        ControlToValidate="txtProviderName" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="^[0-9a-zA-Z ]+$" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:DropDownList ID="ddlProviderType" runat="server" /> 
                    <br /> 
                    <asp:TextBox ID="txtHubGroupDomain" runat="server" onchange="SetText()" Width="214px" /> 
                    <asp:RequiredFieldValidator ID="rvHubGrpDomain" runat="server" ControlToValidate="txtHubGroupDomain" 
                        Display="Dynamic" ErrorMessage="Hub Group Domain is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    &nbsp; 
                    <asp:RegularExpressionValidator ID="revHubGroupDomain" runat="server" ErrorMessage="Not a valid domain name." 
                        ControlToValidate="txtHubGroupDomain" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:TextBox ID="txtDefualtMeetingServer" runat="server" Width="214px" /> 
                    <input id="inpMeetingServerAppend" readonly="readonly" runat="server" type="text" /> 
                    <asp:RequiredFieldValidator ID="rvDefMtngServer" runat="server" ControlToValidate="txtDefualtMeetingServer" 
                        Display="Dynamic" ErrorMessage="Default Meeting Server is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    &nbsp; 
                    <asp:RegularExpressionValidator ID="revdefMeetingServer" runat="server" ErrorMessage="Only numbers, letters, or dashes allowed." 
                        ControlToValidate="txtDefualtMeetingServer" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="(^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$)" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:TextBox ID="txtSecureDefaultMeetingServer" runat="server" Width="214px" /> 
                    <input id="inpSecureMeetingServerAppend" readonly="readonly" runat="server" type="text" /> 
                    <asp:RequiredFieldValidator ID="rvSecDefMtngServer" runat="server" ControlToValidate="txtSecureDefaultMeetingServer" 
                        Display="Dynamic" ErrorMessage="Secure Default Meeting Server is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    &nbsp; 
                    <asp:RegularExpressionValidator ID="revSecDefMeetingServer" runat="server" ErrorMessage="Only numbers, letters, or dashes allowed." 
                        ControlToValidate="txtSecureDefaultMeetingServer" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="(^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$)" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:TextBox ID="txtAppShareHost" runat="server" Width="214px" /> 
                    <input id="inpAppShareHostAppend" readonly="readonly" runat="server" type="text" /> 
                    <asp:RequiredFieldValidator ID="rvAppShareHost" runat="server" ControlToValidate="txtAppShareHost" 
                        Display="Dynamic" ErrorMessage="App Share Host is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    <asp:RegularExpressionValidator ID="revAppShareHost" runat="server" ErrorMessage="Only numbers, letters, or dashes allowed." 
                        ControlToValidate="txtAppShareHost" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="(^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$)" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:TextBox ID="txtCustomerHomePage" runat="server" Width="214px" /> 
                    <asp:RequiredFieldValidator ID="rvCustomerHomePage" runat="server" ControlToValidate="txtCustomerHomePage" 
                        Display="Dynamic" ErrorMessage="Customer Home Page is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    &nbsp;<asp:RegularExpressionValidator ID="revHomePage" runat="server" ErrorMessage="Not a valid url." 
                        ControlToValidate="txtCustomerHomePage" Display="Dynamic" SetFocusOnError="True" 
                        ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?" ValidationGroup="providerValidationGroup"></asp:RegularExpressionValidator> 
                    <br /> 
                    <asp:TextBox ID="txtDefaultConferenceTitle" runat="server" Width="214px" /> 
                    <asp:RequiredFieldValidator ID="rvDefaultConferenceTitle" runat="server" ControlToValidate="txtDefaultConferenceTitle" 
                        Display="Dynamic" ErrorMessage="Default Conference Title is required" SetFocusOnError="True" ValidationGroup="providerValidationGroup"></asp:RequiredFieldValidator> 
                    <br /> 
                    <asp:TextBox ID="txtDefaultModeratorEmailSubject" runat="server" Width="214px" /> 
                    <asp:CheckBox ID="chkModeratorSameAsTitle" runat="server" Text="Same as title" /> 
                    <asp:CustomValidator ControlToValidate="txtDefaultModeratorEmailSubject" ID="valDefaultModeratorEmailSubject" 
                        runat="server" ErrorMessage="Default Moderator Email Subject is required" ValidateEmptyText="true" 
                        SetFocusOnError="true" Display="Dynamic" ValidationGroup="providerValidationGroup"/> 
                    <br /> 
                    <asp:TextBox ID="txtDefaultAttendeeEmailSubject" runat="server" Width="214px" /> 
                    <asp:CheckBox ID="chkAttendeeSameAsTitle" runat="server" Text="Same as title" /> 
                    <asp:CustomValidator ControlToValidate="txtDefaultAttendeeEmailSubject" ID="valDefaultAttendeeEmailSubject" 
                        runat="server" ErrorMessage="Default Attendee Email Subject is required" ValidateEmptyText="true" 
                        SetFocusOnError="true" Display="Dynamic" ValidationGroup="providerValidationGroup"/> 
                </div> 
            </div> 
        </radM:RadPageView>         
        <radM:RadPageView runat="server" ID="linkedEnterprises"
            <div id="doc3"
                <asp:UpdateProgress ID="UpdateProgressEnterprises" runat="server" AssociatedUpdatePanelID="updatePanelEnterprises" 
                    DisplayAfter="0"
                    <ProgressTemplate> 
                        <asp:Image ID="imgAjaxProgress" runat="server" ImageUrl="~/images/ajax-loader.gif" /> 
                    </ProgressTemplate> 
                </asp:UpdateProgress> 
                <asp:UpdatePanel ID="updatePanelEnterprises" runat="server"
                    <ContentTemplate> 
                        <div style="width: 870px;"
                            <table class="widetable"
                                <tr> 
                                    <td> 
                                        <strong> 
                                            <asp:Localize ID="Localize3" runat="server" Text="Enterprise Name:" /></strong
                                    </td> 
                                    <td> 
                                        <asp:TextBox ID="txtEnterpriseName" runat="server" Width="214px" /> 
                                    </td> 
                                </tr> 
                                <tr> 
                                    <td> 
                                        <strong> 
                                            <asp:Localize ID="Localize6" runat="server" Text="Enterprise Type:" /></strong
                                    </td> 
                                    <td align="left"
                                        <asp:DropDownList ID="ddlEnterpriseType" runat="server"
                                        </asp:DropDownList> 
                                    </td> 
                                </tr> 
                                <tr> 
                                    <td> 
                                    </td> 
                                    <td align="left"
                                        <asp:Button ID="btnSearchEnterprise" runat="server" CssClass="brandingButton" Text="Search" 
                                            OnClick="btnSearchEnterprise_Click" UseSubmitBehavior="False" CausesValidation="False" /> 
                                    </td> 
                                </tr> 
                                <tr> 
                                    <td> 
                                    </td> 
                                    <td> 
                                    </td> 
                                </tr> 
                            </table> 
                        </div> 
                        <div style="width: 900px;"
                            <table> 
                                <tr> 
                                    <td align="center"
                                        <strong> 
                                            <asp:Localize ID="locAvaiableEnterprises" runat="server" Text="Search Results" /> 
                                        </strong> 
                                    </td> 
                                    <td align="center"
                                    </td> 
                                    <td align="center"
                                        <strong> 
                                            <asp:Localize ID="locSelectedEnterprises" runat="server" Text="Selected Enterprises" /> 
                                        </strong> 
                                    </td> 
                                </tr> 
                                <tr> 
                                    <td> 
                                        <asp:ListBox ID="lstSearchResults" runat="server" Rows="10" SelectionMode="Multiple" 
                                            Width="280px"></asp:ListBox> 
                                    </td> 
                                    <td align="center" valign="middle"
                                        <asp:Button ID="btnAddEnterprise" runat="server" CssClass="brandingButton" OnClick="btnAddEnterprise_Click" 
                                            Text="Add&gt;&gt;" UseSubmitBehavior="False" CausesValidation="False" /> 
                                    </td> 
                                    <td valign="middle"
                                        <asp:ListBox ID="lstSelectedEnterprises" runat="server" Rows="10" SelectionMode="Multiple" 
                                            Width="280px"></asp:ListBox> 
                                    </td> 
                                </tr> 
                                <tr> 
                                    <td align="center"
                                        <asp:Button ID="btnClearResults" runat="server" CausesValidation="False" CssClass="brandingButton" 
                                            OnClick="btnClearResults_Click" Text="Clear Search" UseSubmitBehavior="False" /> 
                                    </td> 
                                    <td> 
                                    </td> 
                                    <td align="center"
                                        <asp:Button ID="btnDeleteSelected" runat="server" CssClass="brandingButton" OnClick="btnDeleteSelected_Click" 
                                            Text="Delete Selected" UseSubmitBehavior="False" CausesValidation="False" /> 
                                    </td> 
                                </tr> 
                            </table> 
                        </div> 
                    </ContentTemplate> 
                    <Triggers> 
                        <asp:AsyncPostBackTrigger ControlID="btnSearchEnterprise" EventName="Click" /> 
                        <asp:AsyncPostBackTrigger ControlID="btnAddEnterprise" EventName="Click" /> 
                        <asp:AsyncPostBackTrigger ControlID="btnDeleteSelected" EventName="Click" /> 
                        <asp:AsyncPostBackTrigger ControlID="btnClearResults" EventName="Click" /> 
                    </Triggers> 
                </asp:UpdatePanel> 
            </div> 
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="netspokeOptions"
            <div class="yui-gb"
                <div class="yui-g first"
                    <strong> 
                        <asp:Localize ID="locScheduleOptions" runat="server" Text="Scheduling/Joining" /> 
                    </strong><br /> 
                    <asp:CheckBox ID="chkRequirePasscodeChecked" runat="server" Text="Conference private by default" /><br /> 
                    <asp:CheckBox ID="chkJoinNoiseEnabled" runat="server" Text="Audio alert when someone joins" /><br /> 
                    <asp:CheckBox ID="chkCallMyPhoneEnabled" runat="server" Text="Enable call my phone feature" /><br /> 
                    <asp:CheckBox ID="chkPresentationsChecked" runat="server" Text="All uploaded presentations available" /><br /> 
                    <asp:CheckBox ID="chkPollingChecked" runat="server" Text="All uploaded polling questions available" /><br /> 
                    <asp:CheckBox ID="chkWebRecordingConfigEnabled" runat="server" Text="Web recording is modifiable in scheduling" /><br /> 
                    <asp:CheckBox ID="chkRecordAllWeb" runat="server" Text="Record all web conference events" /><br /> 
                </div> 
                <div class="yui-g"
                    <strong> 
                        <asp:Localize ID="locConferenceOptions" runat="server" Text="In Conference" /> 
                    </strong><br /> 
                    <asp:CheckBox ID="chkQAEnabled" runat="server" Text="Enable Q&A" /><br /> 
                    <asp:CheckBox ID="chkWebRecordingEnabled" runat="server" Text="Enable web recording option" /><br /> 
                    <asp:CheckBox ID="chkChatEnabled" runat="server" Text="Enable chat" /><br /> 
                    <asp:CheckBox ID="chkBlockSharingEntireDesktop" runat="server" Text="Enable desktop sharing" /><br /> 
                    <asp:CheckBox ID="chkAppShareEnabled" runat="server" Text="Enable AppShare" /><br /> 
                    <asp:CheckBox ID="chkSharingVideoEnabled" runat="server" Text="Enable video" /><br /> 
                    <asp:CheckBox ID="chkSharedFilesEnabled" runat="server" Text="Enable file transfer" /><br /> 
                    <asp:CheckBox ID="chkPollingEnabled" runat="server" Text="Enable polling" /><br /> 
                    <asp:CheckBox ID="chkWhiteboardEnabled" runat="server" Text="Enable whiteboard" /><br /> 
                    <asp:CheckBox ID="chkPresentationsEnabled" runat="server" Text="Enable PowerPoint sharing" /><br /> 
                    <asp:CheckBox ID="chkHelpEnabled" runat="server" Text="Enable live help" /><br /> 
                </div> 
                <div class="yui-g"
                    <strong> 
                        <asp:Localize ID="locAppShareOptions" runat="server" Text="AppShare/Communication" /> 
                    </strong><br /> 
                    <asp:CheckBox ID="chkAppShareMaskingEnabled" runat="server" Text="Hide pop-up windows when sharing" /><br /> 
                    <asp:CheckBox ID="chkGrantControlEnabled" runat="server" Text="Grant control to participants enabled" /><br /> 
                    <asp:CheckBox ID="chkSecure" runat="server" Text="SSL enabled for all conferences by default" /><br /> 
                    <asp:Label ID="lblAppShareColorDepth" runat="server" Text="Set default AppShare color level" /> 
                    <asp:DropDownList ID="ddlAppShareColorDepth" runat="server"
                        <asp:ListItem Text="Low" Value="8" /> 
                        <asp:ListItem Text="High" Value="16" /> 
                    </asp:DropDownList> 
                    <br /> 
                </div> 
            </div> 
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="webConfLogo"
            <div class="yui-gd"
                <div class="yui-g first"
                    <strong> 
                        <asp:Localize ID="locWebLogoCurrent" runat="Server" Text="Web Conference Logo:" /> 
                    </strong> 
                    <br /> 
                    <br /> 
                    <asp:Localize ID="locSelectWebLogo" runat="server" Text="Select Conference Logo for upload:" /><br /> 
                    <radM:RadUpload ID="RadUploadWebConfLogo" runat="server" InitialFileInputsCount="1" 
                        ControlObjectsVisibility="None" MaxFileSize="262144000" MaxFileInputsCount="1" 
                        OnValidatingFile="RadUpload_ValidatingFile" Width="100%" EnableFileInputSkinning="false" /> 
                    <p> 
                        <asp:Localize ID="locWebLogoRequirements" runat="Server" Text="<i><strong>Logo Requirements:</strong><br>&#8226;    The file must be in <strong>.jpg or .gif</strong> format<br>&#8226; The image must not exceed <strong>150W x 38H</strong> px<br>&#8226; The file size must not exceed <strong>128</strong> kb</i>." /> 
                        <asp:HiddenField ID="hfWebConfLogo" runat="server" /> 
                    </p> 
                    <br />                     
                    <asp:Button ID="btnWebConfLogoPreview" runat="server" Text="Preview" OnClick="btnWebConfLogoPreview_Click" />&nbsp&nbsp 
                    <asp:Button ID="btnWebConfLogoSave" runat="server" Text="Save" OnClick="btnWebLogoSave_Click" Visible="false" /> 
                </div> 
                <div class="yui-g"
                    <asp:Image ID="imgConfLogo" AlternateText="Image Preview" runat="server" /> 
                </div> 
            </div> 
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="hubLogo"
            <div class="yui-gd"
                <div class="yui-g first"
                    <strong> 
                        <asp:Localize ID="locHubLogoCurrent" runat="Server" Text="Conferencing Hub Logo:" /> 
                    </strong> 
                    <br /> 
                    <asp:Localize ID="locSelectHubLogo" runat="Server" Text="Select Conferencing Hub Logo for upload:" /><br /> 
                    <radM:RadUpload ID="RadUploadHeaderLogo" runat="server" InitialFileInputsCount="1" 
                        ControlObjectsVisibility="None" MaxFileSize="262144000" MaxFileInputsCount="1" 
                        OnValidatingFile="RadUpload_ValidatingFile" Width="100%" EnableFileInputSkinning="false" /> 
                    <p> 
                        <asp:Localize ID="locHubLogoRequirements" runat="Server" Text="<i><strong>Logo Requirements:</strong><br>&#8226;    The file must be in <strong>.jpg or .gif</strong> format<br>&#8226; The image must not exceed <strong>150W x 60H</strong> px<br>&#8226; The file size must not exceed <strong>128</strong> kb</i>." /> 
                    </p> 
                    <br /> 
                    <asp:Button ID="btnHeaderLogoPreview" runat="server" Text="Preview" OnClick="btnHeaderLogoPreview_Click" 
                       UseSubmitBehavior="False" />&nbsp&nbsp 
                    <asp:Button ID="btnHeaderLogoSave" runat="server" Text="Save" OnClick="btnHubLogoSave_Click" Visible="false"/> 
                        
                </div> 
                <div class="yui-g"
                    <asp:Image ID="imgHeaderLogo" runat="server" /> 
                    <asp:HiddenField ID="hfHeaderLogo" runat="server" /> 
                </div> 
            </div> 
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="marketingLinks"
            <radM:RadGrid ID="radGridMarkeingLinks" runat="server" PageSize="5" AutoGenerateColumns="false" 
                 AllowAutomaticDeletes="true" AllowAutomaticInserts="true" AllowAutomaticUpdates="true" 
                     OnItemInserted="InsertBranding"  OnItemDeleted="DeleteBranding" OnItemUpdated="UpdateBranding" AllowPaging="false" Width="600px"
                    <MasterTableView TableLayout="Fixed" CommandItemDisplay="Top" EnableNoRecordsTemplate="true"
                        <Columns>  
                            <radM:GridEditCommandColumn></radM:GridEditCommandColumn>                            
                            <radM:GridBoundColumn UniqueName="MarketingText" HeaderText="Marketing Link Text" DataField="Key" ></radM:GridBoundColumn> 
                            <radM:GridBoundColumn UniqueName="MarketingLink" HeaderText="Marketing Link URL" DataField="Value" ></radM:GridBoundColumn> 
                            <radM:GridButtonColumn ButtonType="LinkButton" Text="Delete"></radM:GridButtonColumn>                             
                        </Columns> 
                        <NoRecordsTemplate> 
                            <h2>There are currently no marketing links defined</h2>                         
                        </NoRecordsTemplate> 
                    </MasterTableView> 
                    <%--<ClientSettings> 
                        <ClientEvents  OnRowClick="RowClick" OnRowDblClick="RowDblClick" 
                    OnGridCreated="GridCreated" OnCommand="GridCommand"/> 
                    </ClientSettings>--%> 
                                         
                </radM:RadGrid> 
                <%--<radM:GridTextBoxColumnEditor ID="MarketingKey" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor> 
                 <radM:GridTextBoxColumnEditor ID="MarketingValue" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor>--%> 
                <netspoke:actionButtons ID="abMarketingLinks" runat="server" DisplaySaveButton="true" SaveText="Save" DisplayCancelButton="false" /> 
             
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="marketingImages"
            <div> 
                <radM:RadGrid ID="radGridMarketingImages" runat="server" PageSize="5" AutoGenerateColumns="False" 
                    AllowPaging="false" Width="600px"
                    <MasterTableView TableLayout="Fixed" CommandItemDisplay="Top"
                        <Columns> 
                            <radM:GridEditCommandColumn></radM:GridEditCommandColumn> 
                            <radM:GridTemplateColumn HeaderText="Image Path" UniqueName="ImagePath" SortExpression="value"
                                <ItemTemplate> 
                                    <asp:Label runat="server" ID="lblName" text='<%# Eval("Value") %>'></asp:Label> 
                                </ItemTemplate> 
                                <EditItemTemplate> 
                                    <asp:TextBox runat="server" ID="txbName" text='<%# Eval("Value") %>'></asp:TextBox> 
                                </EditItemTemplate> 
                            </radM:GridTemplateColumn> 
                            <radM:GridTemplateColumn HeaderText="Image" UniqueName="Upload"
                                <ItemTemplate> 
                                    <asp:Image runat="server" ID="ImageThumbnail" ImageUrl='<%# Eval("Value") %>' /> 
                                </ItemTemplate> 
                                <EditItemTemplate> 
                                    <radM:RadUpload ID="RadUploadMarkeingImage" runat="server" InitialFileInputsCount="1" 
                                        ControlObjectsVisibility="None" MaxFileSize="262144000" MaxFileInputsCount="1" 
                                        OnValidatingFile="RadUpload_ValidatingFile" Width="100%" EnableFileInputSkinning="false"
                                    </radM:RadUpload>  
                                </EditItemTemplate> 
                            </radM:GridTemplateColumn> 
                            <radM:GridButtonColumn ButtonType="PushButton" Text="Delete" CommandName="delete" UniqueName="column"
                            </radM:GridButtonColumn> 
                        </Columns> 
                        <EditFormSettings> 
                        <EditColumn UniqueName="EditCommandColumn1"
                        </EditColumn> 
                    </EditFormSettings> 
                    <ExpandCollapseColumn> 
                        <HeaderStyle Width="20px" /> 
                    </ExpandCollapseColumn> 
                    <RowIndicatorColumn> 
                        <HeaderStyle Width="20px" /> 
                    </RowIndicatorColumn> 
                </MasterTableView> 
                <FilterMenu EnableTheming="True"
                    <CollapseAnimation Duration="200" Type="OutQuint" /> 
                </FilterMenu>                                       
                </radM:RadGrid> 
            </div> 
        </radM:RadPageView>         
        <radM:RadPageView runat="server" ID="appTitle"
            <div class="yui-gd"
                <div class="yui-g first"
                    <br /> 
                    <strong> 
                        <asp:Localize ID="locAppTitle" runat="server" Text="Application Title Text:"></asp:Localize> 
                    </strong> 
                    <br /> 
                    <br /> 
                    <asp:Localize ID="locAppText" runat="server" Text="Application Text"></asp:Localize> 
                </div> 
                <div class="yui-g"
                    <br /> 
                    <br />                     
                    <asp:TextBox ID="txtAppText" runat="server"></asp:TextBox> 
                </div> 
            </div>             
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="gettingStartedText"
        <radM:RadGrid ID="radGridGettingStarted" runat="server" PageSize="5" AutoGenerateColumns="false" 
                    AllowPaging="false" Width="600px"
                    <MasterTableView TableLayout="Fixed" CommandItemDisplay="Top" EditMode="InPlace" EnableNoRecordsTemplate="true"
                        <Columns>                             
                            <radM:GridBoundColumn UniqueName="GettingStartedText" HeaderText="Getting Started Text" DataField="Key" ColumnEditorID="GettingStartedKey"></radM:GridBoundColumn> 
                            <radM:GridBoundColumn UniqueName="GettingStartedLink" HeaderText="Getting Started Link" DataField="Value" ColumnEditorID="GettingStartedValue"></radM:GridBoundColumn> 
                            <radM:GridButtonColumn ButtonType="PushButton" Text="Delete"></radM:GridButtonColumn>                             
                        </Columns> 
                        <NoRecordsTemplate> 
                            <h2>There are currently no Getting Started links defined</h2>                         
                        </NoRecordsTemplate> 
                    </MasterTableView> 
                    <ClientSettings> 
                        <ClientEvents  OnRowClick="RowClick" OnRowDblClick="RowDblClick" 
                    OnGridCreated="GridCreated" OnCommand="GridCommand"/> 
                    </ClientSettings> 
                                         
                </radM:RadGrid> 
                <radM:GridTextBoxColumnEditor ID="GettingStartedKey" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor> 
                 <radM:GridTextBoxColumnEditor ID="GettingStartedValue" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor> 
                <netspoke:actionButtons ID="abGettingStarted" runat="server" DisplaySaveButton="true" SaveText="Save" DisplayCancelButton="false" /> 
             
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="helpLinks"
            <div>             
                <radM:RadGrid ID="radGridHelpLinks" runat="server" PageSize="5" AutoGenerateColumns="false" 
                    AllowPaging="false" Width="600px"
                    <MasterTableView TableLayout="Fixed" CommandItemDisplay="Top" EditMode="InPlace" EnableNoRecordsTemplate="true"
                        <Columns>                             
                            <radM:GridBoundColumn UniqueName="HelpText" HeaderText="Help Item Text" DataField="Key" ColumnEditorID="HelpKey"></radM:GridBoundColumn> 
                            <radM:GridBoundColumn UniqueName="HelpLink" HeaderText="Help Item URL" DataField="Value" ColumnEditorID="HelpValue"></radM:GridBoundColumn> 
                            <radM:GridButtonColumn ButtonType="PushButton" Text="Delete"></radM:GridButtonColumn>                             
                        </Columns> 
                        <NoRecordsTemplate> 
                            <h2>There are currently no help links defined</h2>                         
                        </NoRecordsTemplate> 
                    </MasterTableView> 
                    <ClientSettings> 
                        <ClientEvents  OnRowClick="RowClick" OnRowDblClick="RowDblClick" 
                    OnGridCreated="GridCreated" OnCommand="GridCommand"/> 
                    </ClientSettings> 
                                         
                </radM:RadGrid> 
                <radM:GridTextBoxColumnEditor ID="HelpKey" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor> 
                 <radM:GridTextBoxColumnEditor ID="HelpValue" runat="server" TextBoxStyle-Width="200px"></radM:GridTextBoxColumnEditor> 
                <netspoke:actionButtons ID="abHelpLinks" runat="server" DisplaySaveButton="true" SaveText="Save" DisplayCancelButton="false" /> 
            </div> 
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="quickLinks"
        </radM:RadPageView> 
        <radM:RadPageView runat="server" ID="skin"
            <asp:Localize ID="locSkin" runat="server" Text="Skin:" /><span class="required">*</span> 
            <asp:DropDownList ID="ddlSkin" runat="server" /> 
        </radM:RadPageView> 
    </radM:RadMultiPage> 
    
    
    <asp:HiddenField id="hfBrandingId" runat="server" /> 
    <asp:HiddenField id="hfProviderID" runat="server" /> 
             
        <br /> 
        <div id="divAction" runat="server"
          <netspoke:actionButtons runat="server" ID="actionBtns" OnSaveClick="Save" CancelURL="~/Administration/providerSearch.aspx" /> 
        </div>      
      <br /> 
</asp:Content> 
 

.cs

using System; 
using System.Data; 
using System.Net; 
using System.Text; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Pgi.DomainLayer; 
using Pgi.Logging; 
using Pgi.ServiceAgents; 
using Pgi.Hub.ServiceLayer; 
using System.IO; 
using System.Web;    
using Telerik.Web.UI.Upload; 
using Telerik.Web.UI; 
using System.Drawing.Imaging; 
using System.Web.Configuration; 
using System.Collections.Generic; 
using Pgi.ServiceAgents.PgiInternalWS; 
using Provider=Pgi.DomainLayer.Provider; 
using System.Globalization; 
using ProviderType=Pgi.DomainLayer.ProviderType; 
 
namespace Pgi.Hub.Administration 
    public partial class providerAddEdit : HubBasePage 
    { 
        #region Private Variables 
        private const int _MAX_FILE_SIZE = 128000; 
        private const string _SAME_AS_TITLE = "SAME AS TITLE"
        private Provider _provider = new Provider(); 
        private ServiceLocator _serviceLocator = new ServiceLocator(); 
        private const string applicationName = "Hub"
        private const string defaultLanguage = "en"
        private int brandId; 
        private int providerId; 
        private bool edit; 
        #endregion 
        #region Load Methods 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!Page.User.IsInRole("GlobalAdmin")) 
            { 
                throw new Exception("You do not have access to this page."); 
            } 
 
 
            if (!Page.IsPostBack) 
            { 
                //Skin Options 
                ddlSkin.Items.Add(new ListItem("Default""default")); 
                ddlSkin.Items.Add(new ListItem("Blue""blue")); 
                ddlSkin.Items.Add(new ListItem("Brown""brown")); 
                ddlSkin.Items.Add(new ListItem("Gray""gray")); 
                ddlSkin.Items.Add(new ListItem("Green""green")); 
                ddlSkin.Items.Add(new ListItem("Khaki""khaki")); 
                ddlSkin.Items.Add(new ListItem("Navy""navy")); 
                ddlSkin.Items.Add(new ListItem("Orange""orange")); 
                ddlSkin.Items.Add(new ListItem("Purple""purple")); 
                ddlSkin.Items.Add(new ListItem("Red""red")); 
                ddlSkin.Items.Add(new ListItem("Yellow""yellow")); 
 
                //provider types 
                ddlProviderType.Items.Add(new ListItem(_provider.GetStringFromProviderType(ProviderType.External), DomainLayer.ProviderType.External.ToString())); 
                ddlProviderType.Items.Add(new ListItem(_provider.GetStringFromProviderType(ProviderType.Test), DomainLayer.ProviderType.Test.ToString())); 
                ddlProviderType.Items.Add(new ListItem(_provider.GetStringFromProviderType(ProviderType.Internal), DomainLayer.ProviderType.Internal.ToString())); 
 
                //enterprise Types 
                ddlEnterpriseType.Items.Add(new ListItem("""")); 
                ddlEnterpriseType.Items.Add(new ListItem("Premiere Client""Premiere Client")); 
                ddlEnterpriseType.Items.Add(new ListItem("Reseller""Reseller")); 
                ddlEnterpriseType.Items.Add(new ListItem("Wholesaler""Wholesaler")); 
 
                valDefaultModeratorEmailSubject.ClientValidationFunction = "ValidateDefaultModeratorEmailSubject"
                valDefaultAttendeeEmailSubject.ClientValidationFunction = "ValidateDefaultAttendeeEmailSubject"
 
 
                imgConfLogo.Visible = false
                imgHeaderLogo.Visible = false
 
                //to add domain name automatically from Hub Group Domain textbox 
                SetText(); 
 
                hfBrandingId.Value = CurrentHub.Id.ToString(); 
 
                //set netspoke options tab text 
                RadTab radTab = tabstripProviderOptions.Tabs.FindTabByValue("3"); 
                radTab.Text = string.Format("{0} Options", BrandingLocalization.GetProductName(ProductTypes.NetspokeService, CurrentHub.BrandId)); 
 
                actionBtns.Visible = false
 
                edit = false
 
                //Edit(provider ID is provided) 
                if (Request["ID"] != null
                { 
                    edit = true
                    actionBtns.Visible = true
 
                    try 
                    { 
                        hfProviderID.Value = Request["ID"]; 
                    } 
                    catch (Exception exc) 
                    { 
                        LogManager.Log.Error("Error converting providerID on provider add/edit"); 
                        LogManager.Log.Exception(exc); 
                        Response.Redirect("providerSearch.aspx"); 
                    } 
 
                    LoadProvider(); 
                    ddlProviderType.Enabled = false
 
 
 
 
                } 
            } 
        } 
 
        private void LoadProvider() 
        { 
            IEnumerable<string> mycol = new List<string>(); 
            _provider = _serviceLocator.ProviderService().Load(Convert.ToInt32(hfProviderID.Value)); 
 
            brandId = _serviceLocator.BrandingService().GetBrandId(null, _provider.Name); 
 
 
 
            txtProviderName.Text = _provider.Name; 
            txtHubGroupDomain.Text = _provider.HubGroupDomain; 
            txtAppShareHost.Text = _provider.AppShareHost.Replace("." + _provider.HubGroupDomain.Trim(), ""); 
            txtCustomerHomePage.Text = _provider.CustomerUrl; 
            txtDefualtMeetingServer.Text = _provider.DefaultMeetingServer.Replace("." + _provider.HubGroupDomain.Trim(), ""); 
            txtSecureDefaultMeetingServer.Text = _provider.DefaultMeetingServerSSL.Replace("." + _provider.HubGroupDomain.Trim(), ""); 
 
            inpAppShareHostAppend.Value = txtHubGroupDomain.Text; 
            inpMeetingServerAppend.Value = txtHubGroupDomain.Text; 
            inpSecureMeetingServerAppend.Value = txtHubGroupDomain.Text; 
 
            //ddlSkin.SelectedValue = _provider.Skin; 
            ddlProviderType.SelectedValue = _provider.ProviderType.ToString(); 
 
            if (_provider.HeaderLogo.Length > 0) 
            { 
                imgHeaderLogo.Visible = true
                imgHeaderLogo.ImageUrl = "~/utilities/imageStreamer.aspx?imagePath=" + HttpUtility.UrlEncode(_provider.HeaderLogo); 
            } 
 
            if (_provider.ConsoleLogo.Length > 0) 
            { 
                imgConfLogo.Visible = true
                imgConfLogo.ImageUrl = "~/utilities/imageStreamer.aspx?imagePath=" + HttpUtility.UrlEncode(_provider.ConsoleLogo); 
            } 
 
            foreach (var enterprise in _provider.Enterprises) 
            { 
                lstSelectedEnterprises.Items.Add(enterprise.Trim()); 
            } 
 
            txtDefaultConferenceTitle.Text = _provider.TextOptions["DefaultConferenceTitle"]; 
 
            if (_provider.TextOptions["DefaultSubjectModerator"].ToUpper() == _SAME_AS_TITLE) 
            { 
                chkModeratorSameAsTitle.Checked = true
                txtDefaultModeratorEmailSubject.Enabled = false
            } 
            else 
            { 
                txtDefaultModeratorEmailSubject.Text = _provider.TextOptions["DefaultSubjectModerator"]; 
            } 
 
            if (_provider.TextOptions["DefaultSubjectAttendee"].ToUpper() == _SAME_AS_TITLE) 
            { 
                chkAttendeeSameAsTitle.Checked = true
                txtDefaultAttendeeEmailSubject.Enabled = false
            } 
            else 
            { 
                txtDefaultAttendeeEmailSubject.Text = _provider.TextOptions["DefaultSubjectAttendee"]; 
            } 
 
            LoadBrandingInfo(); 
 
            LoadOptions(_provider); 
        } 
 
        private void SetText() 
        { 
            var sb = new StringBuilder(); 
            sb.Append("<script type='text/javascript'>\r\n"); 
            sb.Append("function SetText()\r\n"); 
            sb.Append(" {\r\n"); 
            sb.Append("     var domain = document.getElementById('" + txtHubGroupDomain.ClientID + "');\r\n"); 
            sb.Append("     var txt1 = document.getElementById('" + inpAppShareHostAppend.ClientID + "');\r\n"); 
            sb.Append("     var txt2 = document.getElementById('" + inpMeetingServerAppend.ClientID + "');\r\n"); 
            sb.Append("     var txt3 = document.getElementById('" + inpSecureMeetingServerAppend.ClientID + "');\r\n"); 
            sb.Append("     if (domain != null)\r\n"); 
            sb.Append("     {\r\n"); 
            sb.Append("         txt1.value = domain.value;\r\n"); 
            sb.Append("         txt2.value = domain.value;\r\n"); 
            sb.Append("         txt3.value = domain.value;\r\n"); 
            sb.Append("     }\r\n"); 
            sb.Append(" }\r\n"); 
            sb.Append("</script>\r\n"); 
 
            var cs = Page.ClientScript; 
            var csName = "setTextScript"
            Type csType = GetType(); 
 
            if (!cs.IsClientScriptBlockRegistered(csType, csName)) 
            { 
                cs.RegisterClientScriptBlock(csType, csName, sb.ToString()); 
            } 
        } 
 
        private void LoadBrandingInfo() 
        { 
            //initial load of helplinks grid 
            BrandedItem[] brandingData = null
 
            brandingData = _serviceLocator.BrandingService().GetBrandingData(applicationName, brandId); 
 
            var keyValMarketingLinks = _serviceLocator.BrandingService().GetKeyValPair(brandingData, "DisplaySettings"
                                                                                       "Content""MarketingLinks"); 
            radGridMarkeingLinks.DataSource = keyValMarketingLinks; 
            radGridMarkeingLinks.DataBind(); 
 
 
            var keyValHelpLinks = _serviceLocator.BrandingService().GetKeyValPair(brandingData, "DisplaySettings"
                                                                                                 "Content"
                                                                                                    "HelpLinks"); 
            radGridHelpLinks.DataSource = keyValHelpLinks; 
            radGridHelpLinks.DataBind(); 
 
            var keyValGettingStarted = _serviceLocator.BrandingService().GetKeyValPair(brandingData, "DisplaySettings"
                                                                                       "Content""GettingStarted"); 
            radGridGettingStarted.DataSource = keyValGettingStarted; 
            radGridGettingStarted.DataBind(); 
 
            var keyValMarketingAds = _serviceLocator.BrandingService().GetKeyValPair(brandingData, "DisplaySettings"
                                                                                     "Content""PormotionLinks"); 
            radGridMarketingImages.DataSource = keyValMarketingAds; 
            radGridMarketingImages.DataBind(); 
 
        } 
 
        private void LoadOptions(Pgi.DomainLayer.Provider provider) 
        { 
            if (provider.Options != null && provider.Options.Count > 0) 
            { 
                foreach (var option in provider.Options) 
                { 
                    switch (option.Key) 
                    { 
                        //column 1 
                        case "RequirePasscodeChecked"
                            chkRequirePasscodeChecked.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "JoinNoiseEnabled"
                            chkJoinNoiseEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "CallMyPhoneEnabled"
                            chkCallMyPhoneEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "PresentationsChecked"
                            chkPresentationsChecked.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "PollingChecked"
                            chkPollingChecked.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "WebRecordingConfigEnabled"
                            chkWebRecordingConfigEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "RecordAllWeb"
                            chkRecordAllWeb.Checked = Convert.ToBoolean(option.Value); 
                            break
 
                        // column 2 
                        case "QAEnabled"
                            chkQAEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "WebRecordingEnabled"
                            chkWebRecordingEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "ChatEnabled"
                            chkChatEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "HelpEnabled"
                            chkHelpEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "BlockSharingEntireDesktop"
                            chkBlockSharingEntireDesktop.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "AppShareEnabled"
                            chkAppShareEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "SharingVideoEnabled"
                            chkSharingVideoEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "SharedFilesEnabled"
                            chkSharedFilesEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "PollingEnabled"
                            chkPollingEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "WhiteboardEnabled"
                            chkWhiteboardEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "PresentationsEnabled"
                            chkPresentationsEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
 
                        // column 3 
                        case "AppShareMaskingEnabled"
                            chkAppShareMaskingEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "GrantControlEnabled"
                            chkGrantControlEnabled.Checked = Convert.ToBoolean(option.Value); 
                            break
                        case "AppShareColorDepth"
                            ddlAppShareColorDepth.SelectedIndex = Common.GetSelectedIndex(ddlAppShareColorDepth, option.Value.ToString()); 
                            break
                        case "Secure"
                            chkSecure.Checked = Convert.ToBoolean(option.Value); 
                            break
                    } 
                } 
                bool hideLiveHelp; 
                bool.TryParse(BrandingLocalization.GetValue("DisplaySettings""Content""HideLiveHelp", CurrentHub.BrandId), 
                    out hideLiveHelp); 
                if (hideLiveHelp) 
                { 
                    chkHelpEnabled.Enabled = false
                    chkHelpEnabled.Visible = false
                } 
            } 
        } 
        #endregion 
        #region Save Methods 
 
        protected void Save(object sender, EventArgs e) 
        { 
            if (Page.IsValid) 
            { 
                resultHandler.ResetStatus(); 
                try 
                { 
                    if (SaveData() && edit == false
                    { 
                        //Response.Redirect("providerSearch.aspx", true); 
                        RadTab tab = tabstripProviderOptions.FindTabByValue("4"); 
                        tab.Selected = true
                        RadPageView pageView = MultiPageBranding.FindPageViewByID("webConfLogo"); 
                        pageView.Selected = true
                        actionBtns.Visible = true
                    } 
                    else 
                    { 
                        resultHandler.ChangeStatus(ActionStatus.Warning, "Unable to save your changes."); 
                    } 
                } 
                catch (Exception wsEx) 
                { 
                    imgConfLogo.Visible = false
                    imgHeaderLogo.Visible = false
                    resultHandler.ResetStatus(); 
                    resultHandler.ChangeStatus(ActionStatus.Error, String.Format("The following error occurred while saving your changes: {0}", wsEx.Message)); 
                    LogManager.Log.Exception(wsEx); 
                } 
            } 
        } 
 
        private bool SaveData() 
        { 
            var defaultSubjectModerator = ""
            var defaultSubjectAttendee = ""
 
            if (chkModeratorSameAsTitle.Checked) 
            { 
                defaultSubjectModerator = _SAME_AS_TITLE; 
            } 
            else 
            { 
                defaultSubjectModerator = txtDefaultModeratorEmailSubject.Text; 
            } 
 
            if (chkAttendeeSameAsTitle.Checked) 
            { 
                defaultSubjectAttendee = _SAME_AS_TITLE; 
            } 
            else 
            { 
                defaultSubjectAttendee = txtDefaultModeratorEmailSubject.Text; 
            } 
 
            if (hfProviderID.Value != ""
            { 
                _provider = _serviceLocator.ProviderService().Load(int.Parse(hfProviderID.Value)); 
                _provider.TextOptions["DefaultConferenceTitle"] = txtDefaultConferenceTitle.Text; 
                _provider.TextOptions["DefaultSubjectModerator"] = defaultSubjectModerator; 
                _provider.TextOptions["DefaultSubjectAttendee"] = defaultSubjectAttendee; 
            } 
            else 
            { 
                _provider = new Provider(); 
                _provider.TextOptions.Add("ProviderName", txtProviderName.Text.Trim()); 
                _provider.TextOptions.Add("DefaultConferenceTitle", txtDefaultConferenceTitle.Text); 
                _provider.TextOptions.Add("DefaultSubjectModerator", defaultSubjectModerator); 
                _provider.TextOptions.Add("DefaultSubjectAttendee", defaultSubjectAttendee); 
            } 
            //_provider.Skin = ddlSkin.SelectedValue.Trim();             
            _provider.ProviderType = _provider.GetProviderTypeFromString(ddlProviderType.SelectedItem.Text); 
            _provider.Name = txtProviderName.Text.Trim(); 
            _provider.HubGroupDomain = txtHubGroupDomain.Text.Trim(); 
            _provider.AppShareHost = txtAppShareHost.Text.Trim() + "." + txtHubGroupDomain.Text.Trim(); 
            _provider.CustomerUrl = txtCustomerHomePage.Text.Trim(); 
            _provider.DefaultMeetingServer = txtDefualtMeetingServer.Text.Trim() + "." + txtHubGroupDomain.Text.Trim(); 
            _provider.DefaultMeetingServerSSL = txtSecureDefaultMeetingServer.Text.Trim() + "." + txtHubGroupDomain.Text.Trim(); 
 
            _provider.Enterprises.Clear(); 
            foreach (ListItem enterprise in lstSelectedEnterprises.Items) 
            { 
                _provider.Enterprises.Add(enterprise.Text.Trim()); 
            } 
 
            SaveOptions(_provider); 
 
            //SaveHeaderImageToServer(_provider); 
 
            //SaveWebConfImageToServer(_provider); 
 
            providerId = _serviceLocator.ProviderService().Save(_provider); 
            hfProviderID.Value = providerId.ToString(); 
 
            brandId = _serviceLocator.BrandingService().GetBrandId(providerId, _provider.Name); 
 
            RadTab tab = tabstripProviderOptions.FindTabByValue("4"); 
            tab.Selected = true
            RadPageView pageView = MultiPageBranding.FindPageViewByID("webConfLogo"); 
            pageView.Selected = true
 
            return true
        } 
 
        private void SaveOptions(Provider provider) 
        { 
            provider.Options.Clear(); 
            //column 1 
            provider.Options.Add("RequirePasscodeChecked", Convert.ToInt16(chkRequirePasscodeChecked.Checked)); 
            provider.Options.Add("JoinNoiseEnabled", Convert.ToInt16(chkJoinNoiseEnabled.Checked)); 
            provider.Options.Add("CallMyPhoneEnabled", Convert.ToInt16(chkCallMyPhoneEnabled.Checked)); 
            provider.Options.Add("PresentationsChecked", Convert.ToInt16(chkPresentationsChecked.Checked)); 
            provider.Options.Add("PollingChecked", Convert.ToInt16(chkPollingChecked.Checked)); 
            provider.Options.Add("WebRecordingConfigEnabled", Convert.ToInt16(chkWebRecordingConfigEnabled.Checked)); 
            provider.Options.Add("RecordAllWeb", Convert.ToInt16(chkRecordAllWeb.Checked)); 
 
            //column 2 
            provider.Options.Add("QAEnabled", Convert.ToInt16(chkQAEnabled.Checked)); 
            provider.Options.Add("WebRecordingEnabled", Convert.ToInt16(chkWebRecordingEnabled.Checked)); 
            provider.Options.Add("ChatEnabled", Convert.ToInt16(chkChatEnabled.Checked)); 
            provider.Options.Add("HelpEnabled", Convert.ToInt16(chkHelpEnabled.Checked)); 
            provider.Options.Add("BlockSharingEntireDesktop", Convert.ToInt16(chkBlockSharingEntireDesktop.Checked)); 
            provider.Options.Add("AppShareEnabled", Convert.ToInt16(chkAppShareEnabled.Checked)); 
            provider.Options.Add("SharingVideoEnabled", Convert.ToInt16(chkSharingVideoEnabled.Checked)); 
            provider.Options.Add("SharedFilesEnabled", Convert.ToInt16(chkSharedFilesEnabled.Checked)); 
            provider.Options.Add("PollingEnabled", Convert.ToInt16(chkPollingEnabled.Checked)); 
            provider.Options.Add("WhiteboardEnabled", Convert.ToInt16(chkWhiteboardEnabled.Checked)); 
            provider.Options.Add("PresentationsEnabled", Convert.ToInt16(chkPresentationsEnabled.Checked)); 
            //column 3   
 
            provider.Options.Add("AppShareMaskingEnabled", Convert.ToInt16(chkAppShareMaskingEnabled.Checked)); 
            provider.Options.Add("GrantControlEnabled", Convert.ToInt16(chkGrantControlEnabled.Checked)); 
            provider.Options.Add("AppShareColorDepth", Convert.ToInt32(ddlAppShareColorDepth.SelectedValue)); 
            provider.Options.Add("Secure", Convert.ToInt16(chkSecure.Checked)); 
        } 
 
        private void SaveHeaderImageToServer(Provider provider) 
        { 
            if (Page.IsValid) 
            { 
                SaveLocalImage(RadUploadHeaderLogo, 150, 60, hfHeaderLogo); 
                if (RadUploadHeaderLogo.InvalidFiles.Count == 0 && hfHeaderLogo.Value.Length > 0) 
                { 
                    if (SaveImage("headerLogo", Server.UrlDecode(hfHeaderLogo.Value), provider)) 
                    { 
                        imgHeaderLogo.Visible = true
                        imgHeaderLogo.ImageUrl = "~/utilities/imageStreamer.aspx?imageType=headerLogo&hubId=" + hfBrandingId.Value; 
                        hfHeaderLogo.Value = ""
                    } 
                    else 
                    { 
                        imgHeaderLogo.Visible = false
                        resultHandler.ChangeStatus(ActionStatus.Warning, "Unable to update information"); 
                    } 
                } 
                else 
                { 
                    imgHeaderLogo.Visible = false
                    imgHeaderLogo.ImageUrl = ""
                    hfHeaderLogo.Value = ""
                } 
            } 
            else 
            { 
                imgHeaderLogo.Visible = false
                imgHeaderLogo.ImageUrl = ""
                hfHeaderLogo.Value = ""
            } 
        } 
 
        private void SaveWebConfImageToServer(Provider provider) 
        { 
 
            SaveLocalImage(RadUploadWebConfLogo, 150, 38, hfWebConfLogo); 
 
            if (RadUploadWebConfLogo.InvalidFiles.Count == 0 && hfWebConfLogo.Value.Length > 0) 
            { 
                if (SaveImage("consoleLogo", Server.UrlDecode(hfWebConfLogo.Value), provider)) 
                { 
                    imgConfLogo.Visible = true
                    imgConfLogo.ImageUrl = "~/utilities/imageStreamer.aspx?imageType=consoleLogo&hubId=" + hfBrandingId.Value; 
                    hfWebConfLogo.Value = ""
                } 
                else 
                { 
                    imgConfLogo.Visible = false
                    hfWebConfLogo.Value = ""
                    resultHandler.ChangeStatus(ActionStatus.Warning, "Unable to update information"); 
                } 
            } 
 
        } 
 
        private bool SaveImage(string baseFileName, string finalFullPath, Provider provider) 
        { 
            int returnVal = int.MinValue; 
            if (Session["hubId"] != null
            { 
                var client = new ServiceLocator().ClientService().GetDomainClientById((int)Session["clientId"]); 
                if (!Validator.ValidateBrandingPermission(client, CurrentHub.Id, Page)) 
                    throw new Exception(Validator.InvalidPermissionMsg); 
 
                if (finalFullPath.Length != 0) 
                { 
                    switch (baseFileName.ToLower()) 
                    { 
                        case "consolelogo"
                            finalFullPath = 
                                SaveNASImage(finalFullPath, 
                                             WebConfigurationManager.AppSettings["BrandingLogoPathPrefix"], baseFileName) 
                                    .Replace(WebConfigurationManager.AppSettings["BrandingLogoPathPrefix"], ""); 
                            _serviceLocator.BrandingService().SetBrandingProperty(brandId, applicationName, defaultLanguage, "DisplaySettings""Images""ConsoleLogo", finalFullPath, Session["clientId"].ToString()); 
                            break
 
                        case "headerlogo"
                            finalFullPath = 
                                SaveNASImage(finalFullPath, 
                                             WebConfigurationManager.AppSettings["BrandingLogoPathPrefix"], baseFileName) 
                                    .Replace(WebConfigurationManager.AppSettings["BrandingLogoPathPrefix"], ""); 
                            _serviceLocator.BrandingService().SetBrandingProperty(brandId, applicationName, defaultLanguage, "DisplaySettings""Images""HeaderLogo", finalFullPath, Session["clientId"].ToString()); 
                            break
                    } 
 
                    returnVal = 1; 
                } 
            } 
            return returnVal != int.MinValue; 
        } 
 
        private string SaveNASImage(string finalFullPath, string path_prefix, string baseFilename) 
        { 
            var filePath = new StringBuilder(); 
            filePath.Append(DateTime.Today.ToString("yyyyMMdd") + "/" + Hub.Common.GlobalRandom.Next() + "/"); 
 
            var filename = filePath + baseFilename + "-" + DateTime.Now.ToString("yyyyMMdd-HHmmssfff") + "-" + new Random().Next(10000, 99999); 
            var fileExtension = ""
            var extIndex = finalFullPath.LastIndexOf("."); 
            if (extIndex >= 0) 
            { 
                fileExtension = finalFullPath.Substring(extIndex); 
            } 
            var finalRelativePath = path_prefix + filename + fileExtension; 
            if (!FileManager.TransferFileToNAS(finalFullPath, finalRelativePath)) 
            { 
                throw new Exception(baseFilename + " could not be saved. Operation aborted."); 
            } 
            return finalRelativePath; 
        } 
 
        private void SaveLocalImage(RadUpload upLogo, int maxWidth, int maxHeight, HiddenField hfLogo) 
        { 
            if (upLogo.UploadedFiles.Count > 0) 
            { 
                var statusMessage = ""
                var path = System.Web.Configuration.WebConfigurationManager.AppSettings["BrandingImagesRootFolder"] + "\\" + 
                              DateTime.Today.ToString("yyyyMMdd") + "\\" + Hub.Common.GlobalRandom.Next() + "\\"
 
                if (!Directory.Exists(path)) 
                { 
                    Directory.CreateDirectory(path); 
                } 
 
                var finalFullPath = path + upLogo.UploadedFiles[0].GetName(); 
                upLogo.UploadedFiles[0].SaveAs(finalFullPath, true); 
 
                System.Drawing.Image imageCheck; 
 
                try 
                { 
                    imageCheck = System.Drawing.Image.FromFile(finalFullPath); 
 
                    if (!imageCheck.RawFormat.Equals(ImageFormat.Jpeg) && !imageCheck.RawFormat.Equals(ImageFormat.Gif)) 
                    { 
                        statusMessage = "Unable to update logo due to the following error: " + upLogo.UploadedFiles[0].GetName() + " is not a jpg or gif."
                    } 
                    else if (imageCheck.Height > maxHeight || imageCheck.Width > maxWidth) 
                    { 
                        statusMessage = "Unable to update logo due to the following error: " + 
                                        upLogo.UploadedFiles[0].GetName() + " is larger than " + maxWidth + 
                                        " pixels wide and " + maxHeight + " pixels high."
                    } 
                    imageCheck.Dispose(); 
                } 
                catch 
                { 
                    statusMessage = "Unable to update logo due to the following error: " + upLogo.UploadedFiles[0].GetName() + " is not an image."
                } 
 
                if (statusMessage.Length > 0) 
                { 
                    hfLogo.Value = ""
                    resultHandler.ResetStatus(); 
                    resultHandler.ChangeStatus(ActionStatus.Error, statusMessage); 
 
                    if (File.Exists(finalFullPath)) 
                    { 
                        File.Delete(finalFullPath); 
                    } 
                } 
                else 
                { 
                    hfLogo.Value = Server.UrlEncode(finalFullPath); 
                } 
            } 
            else if (upLogo.InvalidFiles.Count > 0) 
            { 
                //Do nothing and let resultHandler display message. 
            } 
            else if (hfLogo.Value.Length == 0) 
            { 
                resultHandler.ResetStatus(); 
                resultHandler.ChangeStatus(ActionStatus.Error, "Unable to update logo due to the following error: No logo file was specified"); 
            } 
            return
        } 
        #endregion 
        #region Event Handlers 
 
        protected void btnSearchEnterprise_Click(object sender, EventArgs e) 
        { 
            var searchResult = new EnterpriseService().Find("", txtEnterpriseName.Text.Trim(), ddlEnterpriseType.SelectedValue, NameSearchType.Contains, AssociationSearchType.UnassociatedOnly); 
 
            lstSearchResults.Items.Clear(); 
 
            foreach (var enterprise in searchResult) 
            { 
                lstSearchResults.Items.Add(enterprise.Name); 
            } 
        } 
 
        protected void btnDeleteSelected_Click(object sender, EventArgs e) 
        { 
            var removeCollection = new ListItemCollection(); 
 
            foreach (ListItem item in lstSelectedEnterprises.Items) 
            { 
                if (!item.Selected) 
                { 
                    continue
                } 
 
                removeCollection.Add(item); 
 
                if (!lstSearchResults.Items.Contains(item)) 
                { 
                    lstSearchResults.Items.Add(item); 
                } 
            } 
 
            foreach (ListItem removeItem in removeCollection) 
            { 
                lstSelectedEnterprises.Items.Remove(removeItem); 
            } 
        } 
 
        protected void btnAddEnterprise_Click(object sender, EventArgs e) 
        { 
            var removeCollection = new ListItemCollection(); 
 
            foreach (ListItem item in lstSearchResults.Items) 
            { 
 
                if (!item.Selected) 
                { 
                    continue
                } 
 
                removeCollection.Add(item); 
 
                if (!lstSelectedEnterprises.Items.Contains(item)) 
                { 
                    lstSelectedEnterprises.Items.Add(item); 
                } 
            } 
            foreach (ListItem removeItem in removeCollection) 
            { 
                lstSearchResults.Items.Remove(removeItem); 
            } 
        } 
 
        public void RadUpload_ValidatingFile(object sender, ValidateFileEventArgs e) 
        { 
            resultHandler.ResetStatus(); 
            if (e.UploadedFile.ContentLength > _MAX_FILE_SIZE) 
            { 
                resultHandler.ChangeStatus(ActionStatus.Error, "<b>" + e.UploadedFile.GetName() + ":</b> Exceeds Maximum File Size<br>"); 
                e.IsValid = false
            } 
            else 
            { 
                switch (e.UploadedFile.GetExtension().ToLower()) 
                { 
                    case ".jpg"
                    case ".gif"
                        e.IsValid = true
                        break
                    default
                        resultHandler.ChangeStatus(ActionStatus.Error, "<b>" + e.UploadedFile.GetName() + ":</b> Unknown File Type<br>"); 
                        e.IsValid = false
                        break
                } 
            } 
            e.SkipInternalValidation = true
        } 
 
 
        protected void btnWebConfLogoPreview_Click(object sender, EventArgs e) 
        { 
 
            SaveLocalImage(RadUploadWebConfLogo, 150, 38, hfWebConfLogo); 
 
            if (RadUploadWebConfLogo.InvalidFiles.Count == 0 && hfWebConfLogo.Value.Length != 0) 
            { 
                imgConfLogo.Visible = true
                //string path = Server.UrlDecode(hfWebConfLogo.Value); 
                //imgConfLogo.ImageUrl = path; 
                imgConfLogo.ImageUrl = "~/utilities/imagePreview.aspx?path=" + hfWebConfLogo.Value; 
                btnWebConfLogoSave.Visible = true
            } 
            else 
            { 
                imgConfLogo.Visible = false
                imgConfLogo.ImageUrl = ""
                hfWebConfLogo.Value = ""
            } 
 
 
        } 
 
        protected void btnWebLogoSave_Click(object sender, EventArgs e) 
        { 
            SaveWebConfImageToServer(_provider); 
        } 
 
        protected void btnHubLogoSave_Click(object sender, EventArgs e) 
        { 
            SaveHeaderImageToServer(_provider); 
        } 
 
        protected void btnHeaderLogoPreview_Click(object sender, EventArgs e) 
        { 
 
            SaveLocalImage(RadUploadHeaderLogo, 150, 60, hfHeaderLogo); 
 
            if (RadUploadHeaderLogo.InvalidFiles.Count == 0 && hfHeaderLogo.Value.Length != 0) 
            { 
                imgHeaderLogo.Visible = true
                imgHeaderLogo.ImageUrl = "~/utilities/imagePreview.aspx?path=" + hfHeaderLogo.Value; 
 
                btnHeaderLogoSave.Visible = true
            } 
            else 
            { 
                imgHeaderLogo.Visible = false
                imgHeaderLogo.ImageUrl = ""
                hfHeaderLogo.Value = ""
            } 
 
 
        } 
 
        protected void btnClearResults_Click(object sender, EventArgs e) 
        { 
            lstSearchResults.Items.Clear(); 
            txtEnterpriseName.Text = ""
        } 
        #endregion 
 
        protected void onTabClick(object sender, RadTabStripEventArgs e) 
        { 
 
            if (e.Tab.Value == "3"
            { 
                actionBtns.Visible = true
            } 
            if (e.Tab.Value == "4"
            { 
                if (edit == false
                { 
                    actionBtns.Visible = true
                    resultHandler.ChangeStatus(ActionStatus.Warning, "Please save your provider information before entering your branding options."); 
                    RadTab tab = tabstripProviderOptions.FindTabByValue("3"); 
                    tab.Selected = true
                    RadPageView pageView = MultiPageBranding.FindPageViewByID("netspokeOptions"); 
                    pageView.Selected = true
 
                } 
                else 
                { 
                     
                    SaveData(); 
                     
                    actionBtns.Visible = false
                } 
 
            } 
        } 
 
        protected void UpdateBranding(object source, GridUpdatedEventArgs e) 
        { 
             
        } 
 
        protected void InsertBranding(object source, GridInsertedEventArgs e) 
        { 
             
 
        } 
 
        protected void DeleteBranding(object source, GridDeletedEventArgs e) 
        { 
             
 
        } 
 
        protected void BrandingUpdate() 
        { 
             
        } 
 
    } 
 


Rory
Top achievements
Rank 1
 answered on 13 Apr 2010
2 answers
462 views

I am using the FormTemplate to insert/update records from the grid. For most of the part the code is working fine. When I click the update button on the row in the grid, data is populated fine in the FormTemplate with the "Eval" command. The button for Insert/Update is also functioning well. 

On the Insert/Update button I am setting properties like following -
Text='<%# IIf (TypeOf Container is GridEditFormInsertItem, "Insert", "Update") %>'  CommandName='<%# IIf (TypeOf Container is GridEditFormInsertItem, "PerformInsert", "PerformUpdate") %>'

 

In the code behind I am calling stored procedures to insert or update:

Protected Sub RadGridAssgn_ItemCommand( .........

     ..

    If e.CommandName = RadGrid.PerformInsertCommandName Then

        'Insert new item

        Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
        Dim aH as String = CType(editableItem.FindControl("txtNotes"), TextBox).Text
        ...
        ...
        'Call Insert StoredProcedure and Insert Item
       ...
       'Rebind and Refresh Grid
    ElseIf e.CommandName = "PerformUpdate" Then
      'Update Item
        Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
        Dim aH as String = CType(editableItem.FindControl("txtNotes"), TextBox).Text
        ...
        ...
        'Call Update StoredProcedure and Insert Item
       ...
       'Rebind and Refresh Grid
    End If

Insert part works fine. But I am having problem getting the update part working. The simple error I am getting at the following line:
        Dim aH as String = CType(editableItem.FindControl("txtNotes"), TextBox).Text

The same code works fine in the INSERT mode. In Update mode FindControl does not find the "txtNotes" text box and returns Null - I get an error "Object reference not set to an instance of an Object."

Any help is greatly appreciated!

Thanks!

 

Santosh Pradhan
Top achievements
Rank 1
 answered on 13 Apr 2010
2 answers
191 views
Hi,
         In my radchart i am using some codings in the click event to drill down another repor.Initially i am binding the radchart at the pageload at the runtime assigning column to y axis and x axis.For the x axis i am binding string values in the x axis datalabelcolumn so when i click the chart i want to take the cocerned bar x label text and then use this text i am binding another chart.But when i click  the chart i cant able to take x label text and the chart also become disorder no x label shown just it will turn to 1,2 ...in x axis.
         What is the problem it is due to any postback event or any other problem.

Please give me the solution
Thanks ,
Bill
Top achievements
Rank 2
 answered on 13 Apr 2010
1 answer
86 views
I am upgrading an old implementation of a RadGrid.  The newest version of the RadGrid doesn't support the AJAXLoadingTemplate element.  How is this done now?  I cannot find it in the demos.
Pavlina
Telerik team
 answered on 13 Apr 2010
1 answer
98 views
Here's the scenario.

Our project uses a toolbar that is for the most part generic (ascx), however for specific modules that you enter some buttons are visible where other modules have different buttons that are visible.  To handle this we are building the toolbar declaratively with all module specific Buttons hidden.  Then in the Page_Load event we are setting the specific module buttons visibility to true.  If a submodule is entered (just another aspx page)  there's code that goes and hides some of the buttons that were set to visible true previously in the same Page_Load.

When the toolbar has a certain number or order of buttons removed (visibly they look correct) the server-side buttonclick event gets a nasty error.  We have been trying to figure out if this is an ordering issue (of when we are creating/showing/hiding buttons) or because we are creating the toolbar declaratively and then modifying the visibility programmatically (assumed unlikely).

Any ideas would be greatly appreciated.  Thank you!
Pat
Top achievements
Rank 1
 answered on 13 Apr 2010
2 answers
107 views
Sorry if I'm sounding snippy, but I've been clicking/searching like mad around here and can't seem to find anything usable.

I need a *simple* *self-contained* example of the Advanced Edit/Insert template please, C# preferable. An XML data source will be fine.

I tried
http://www.telerik.com/support/kb/aspnet-ajax/scheduler/sample-project-of-the-customizing-the-advanced-template-example.aspx (the Q1 2010 zip file)

But got over 200 compile errors I think because of all kinds of missing dependencies and stuff.





Paul Nascimento
Top achievements
Rank 1
 answered on 13 Apr 2010
1 answer
78 views
hi, all

when i am click on any date column on grid . it will sort according to the string..

<

 

 

telerik:GridBoundColumn DataField="BatchDate" UniqueName="BatchDate" HeaderText="Date" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime">

 

 

 

</telerik:GridBoundColumn>

please help me...

thanks
sangram sks

 

Pavlina
Telerik team
 answered on 13 Apr 2010
1 answer
216 views

Hi, all

When i am using any sorting on the date column field, the result is comes according to the string format. where i specified that the datatype="system.datatime"..

 

<

 

 

telerik:GridBoundColumn DataField="BatchDate" UniqueName="BatchDate" HeaderText="Date" DataFormatString="{0:MM/dd/yyyy}" DataType="System.DateTime">

 

 

 

 

 

 

 

</telerik:GridBoundColumn>

 

Pavlina
Telerik team
 answered on 13 Apr 2010
1 answer
134 views
Hello,

I've a really strange issue with the RadTreeView and populated on demand.

When I name a node for instance f1 or ee which belongs to the deepest level , I cannot click on this node ( the cursor is the normal pointer).
It works if this node is not a leaf node.

I found that the problem comes from this css

.RadTreeView
{
   white-space:nowrap;
}

When I disable this line using developer tools, it works correctly but it does not wrap the nodes which I do not want of course.

am I clear ?

thx in advance

Gilles
Kamen Bundev
Telerik team
 answered on 13 Apr 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?