or
Hi there
I am exporting a Grid in Biff Format which is successfully exporting - however I want to allow the user to be able to change values in one column only (e.g column 3)
If the user attempts to changes any other columns they would get a warning from Excel advising them the cell is protected.
I believe this can be done in the "ExcelMLWorkBookCreated" but am not sure what the code needs to be so it can loop through all the columns - below is what I have so far....
Any help much appreciated....
protected void gridPricing_ExportToExcel_ExcelMLWorkBookCreated(object sender, Telerik.Web.UI.GridExcelBuilder.GridExcelMLWorkBookCreatedEventArgs e) { e.WorkBook.Worksheets[0].IsProtected = true; StyleElement protectionStyle = new StyleElement("ProtectionStyle"); protectionStyle.CellProtection.IsProtected = false; e.WorkBook.Styles.Add(protectionStyle); foreach (ColumnElement column in e.WorkBook.Worksheets[0].Table.Columns) { int columnindex = e.WorkBook.Worksheets[0].Table.Columns.IndexOf(column); if (columnindex == 3) { //code NEEDED in here needs to loop through cells or columns //and get cellelement or columnelement // so I can set the cell.stylevalue for this column } }$(document).ready(function() { // Handler for .ready() called. initialize(); //setVisibleMarkers(); alert("document.ready"); enableMailingLabelsButton(); EnableCustomTemplates(); });function enableMailingLabelsButton() { var btnPrintMailingLabels = document.getElementById('<%=btnPrintMailingLabels.ClientID%>'); var btnRefresh = document.getElementById('<%=btnRefresh.ClientID%>'); var ddlMailingList = document.getElementById('<%=ddlMailingList.ClientID %>'); var rdoSelectNew = document.getElementById('<%=rdoSelectNew.ClientID %>'); var rdoSelectDefault = document.getElementById('<%=rdoSelectDefault.ClientID %>'); var rdoSelectDateRange = document.getElementById('<%=rdoSelectDateRange.ClientID %>'); var rdoPreviousDataSet = document.getElementById('<%=rdoPreviousDataSet.ClientID %>'); var txt1ClickNumberToPrint = $find('<%= txt1ClickNumberToPrint.ClientID %>') var txtDateRangeNumberToPrint = $find('<%= txtDateRangeNumberToPrint.ClientID %>') var rdiStartDate = $find('<%= rdiStartDate.ClientID %>') var rdiEndDate = $find('<%= rdiEndDate.ClientID %>') if (rdoSelectNew.checked == true) { //alert(rdiStartDate); rdiStartDate.disable(); rdiEndDate.disable(); txt1ClickNumberToPrint.disable(); txtDateRangeNumberToPrint.disable(); ddlMailingList.disabled = true; btnPrintMailingLabels.disabled = true; btnRefresh.disabled = true; } else if (rdoSelectDefault.checked == true) { rdiStartDate.disable(); rdiEndDate.disable(); txt1ClickNumberToPrint.enable(); txtDateRangeNumberToPrint.disable(); ddlMailingList.disabled = true; btnRefresh.disabled = false; btnPrintMailingLabels.disabled = true; } else if (rdoSelectDateRange.checked == true) { rdiStartDate.enable(); rdiEndDate.enable(); txt1ClickNumberToPrint.disable(); txtDateRangeNumberToPrint.enable(); ddlMailingList.disabled = true; btnRefresh.disabled = false; btnPrintMailingLabels.disabled = true; } else if (rdoPreviousDataSet.checked == true) { rdiStartDate.disable(); rdiEndDate.disable(); txt1ClickNumberToPrint.disable(); txtDateRangeNumberToPrint.disable(); ddlMailingList.disabled = false; btnRefresh.disabled = false; if (ddlMailingList.selectedIndex >= 0 ) { // alert("making labels active"); btnPrintMailingLabels.disabled = false; } else { // alert("making labels inactive"); btnPrintMailingLabels.disabled = true; } }}var txt1ClickNumberToPrint = $find('<%= txt1ClickNumberToPrint.ClientID %>')
shows a null after execution
in the txt1ClickNumberToPrint field, so when trying to disable this field the javascript throws an error on
page load and stops executing only in IE 10 on first load. once the page is loaded things work fine also
Chrome does not have an issue at all. I'd appreciate any help. Here is the markup for that section.
<fieldset style="width:100%;"><legend>Select Your Data Set:</legend><table class="signup-label" cellpadding="5px"><tr><td ><asp:RadioButton Checked="true" runat="server" ID="rdoSelectNew" GroupName="select" /></td><td align="left" valign="baseline">Just my NEW leads please!</td></tr><tr> <td><asp:RadioButton runat="server" ID="rdoSelectDefault" GroupName="select" /></td><td align="left" valign="baseline">The most recent <telerik:RadNumericTextbox ID="txt1ClickNumberToPrint" runat="server" NumberFormat-DecimalDigits="0" Width="50px"></telerik:RadNumericTextbox> leads!</td></tr><tr> <td><asp:RadioButton runat="server" ID="rdoSelectDateRange" GroupName="select" /></td><td align="left" valign="baseline">The most recent <telerik:RadNumericTextbox ID="txtDateRangeNumberToPrint" runat="server" NumberFormat-DecimalDigits="0" Width="50px"></telerik:RadNumericTextbox> leads between the start date of <telerik:RadDateInput ID="rdiStartDate" runat="server"></telerik:RadDateInput> and the end date of <telerik:RadDateInput ID="rdiEndDate" runat="server"></telerik:RadDateInput>!</td></tr><tr> <td><asp:RadioButton runat="server" ID="rdoPreviousDataSet" GroupName="select" /></td><td align="left" ><table cellpadding="2"><tr><td>An Existing Mailing List:</td><td><asp:DropDownList ID="ddlMailingList" runat="server" SkinID="ExtraWideDll" DataTextField="Name" DataValueField="ID"></asp:DropDownList></td><td><asp:ImageButton class="norm" ID="btnRefresh" runat="server" AlternateText="Refresh" ToolTip="Refresh the list of Mailing Lists" ImageUrl="./images/Refresh.gif" onclick="btnRefresh_Click" /></td></tr></table></td></tr><tr><td align="right" colspan="2" ><asp:Button ID="btnGetData" runat="server" Text="Print" onclick="btnGetData_Click" ToolTip="Print using the selected template!" /><asp:Button ID="btnPrintMailingLabels" runat="server" ToolTip="Print Mailing Labels for an existing mailing list!" Text="Get Mailing Labels" onclick="btnPrintMailingLabels_Click" /><img title="Use the 'Print' Button to create a new mailing list, then use the 'Get Mailing Labels' button to get the mailing labels for the Mailing List." class="tooltip" src="./images/question.png" /></td></tr><tr><td align="left" colspan="2" ><asp:Label CssClass="error" runat="server" ID="lblMessage"></asp:Label></td></tr></table></fieldset><MasterTableView EditMode="InPlace"function RowDblClick(sender, eventArgs) { // insert Code here to change EditMode to EditMode="InPlace" // then open the row for editing editedRow = eventArgs.get_itemIndexHierarchical(); $find("<%= RadGrid1.MasterTableView.ClientID %>").editItem(editedRow); }<telerik:RadListBox ID="listWho" runat="server" DataSourceID="dsScheduleWho" TabIndex="2"DataTextField="wholist" DataValueField="pk" Height="120px" Width="169px"Skin="Vista" SelectionMode="Multiple" OnClientLoad="listWho_ClientLoad"></telerik:RadListBox>protected void DistGroup_SelectedIndexChanged(object sender, EventArgs e){ string itemValue; DropDownList ddl = sender as DropDownList; string DG_cpk = ddl.SelectedValue; try { RadListBox rlb = (RadListBox)pageform.FindControl("listWho"); DataAccess sda = new DataAccess(); sda.RunSelectCmd("select cpk_users from users inner join DG_Users_Link DUL on users.CPK_USERS = DUL.Cfk_Users and DUL.DELFLAG=0 " + "inner join DistributionGroups DG on DUL.Cfk_DistributionGroups=DG.CPK_DistributionGroups and DG.delflag=0 " + "where users.DELFLAG=0 and DG.CPK_DistributionGroups=" + DG_cpk); if (!sda.blNoRecords) { foreach (DataRow dr in sda.dtResult.Rows) { itemValue = dr["cpk_users"].ToString(); RadListBoxItem rlbi = rlb.FindItemByValue(itemValue); rlbi.Selected = true; } }