Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
270 views
Hi,

I use the "try...catch" in order to save the data to the server.
And I was exception handling in the "throw ex".

However, this doesn't display page when an error occurs.
So I have to debug to check the exception message.

In such a case, do I need to process How?

here my code.

aspx
    <title></title>
    <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
    <script type="text/javascript">
        function Update() {
            var batchManager = grid2.get_batchEditingManager();
            batchManager.saveChanges(grid2.get_masterTableView());
        }
......
<body>
    <form id="form" runat="server">
    <div>
       <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" Height="100%" Width="100%" HorizontalAlign="NotSet" OnAjaxRequest="RadAjaxPanel2_AjaxRequest">
            <telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="False" Culture="ko-KR" GroupPanelPosition="Top" OnNeedDataSource="RadGrid2_NeedDataSource" OnBatchEditCommand="RadGrid2_BatchEditCommand" OnItemCreated="RadGrid2_ItemCreated" Height="445px" OnPreRender="RadGrid2_PreRender" AllowAutomaticUpdates="True" ShowFooter="True">
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowKeyboardNavigation="True">
                    <ClientEvents OnRowCreated="RowCreated" OnBatchEditCellValueChanged="RadGrid2_OnBatchEditCellValueChanged" />
                    <KeyboardNavigationSettings AllowSubmitOnEnter="True" CancelChangesKey="D1" />
                    <Scrolling AllowScroll="True" UseStaticHeaders="True" />
                </ClientSettings>
                <MasterTableView EditMode="Batch" BatchEditingSettings-EditType="Cell">
                    <Columns>
............


aspx.cs
....................
        protected override void OnPreInit(EventArgs e)
        {
            baseScriptManager = new ScriptManager();
            baseScriptManager.AsyncPostBackTimeout = 600;
            Page.Items[typeof(ScriptManager)] = baseScriptManager;
 
            base.OnPreInit(e);
        }
 
        protected override void OnPreLoad(EventArgs e)
        {
            Page.Items[typeof(ScriptManager)] = null;
            baseScriptManager.AllowCustomErrorsRedirect = true;
            baseScriptManager.AsyncPostBackError += this.baseScriptManager_AsyncPostBackError;
 
            this.Form.Controls.Add(baseScriptManager);
 
            base.OnPreLoad(e);
        }
        private void baseScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
        {
            baseScriptManager.AsyncPostBackErrorMessage = e.Exception.Message;
        }
        protected void RadGrid2_BatchEditCommand(object sender, GridBatchEditingEventArgs e)
        {
            ................
 
            using (DbConnection connection = db.CreateConnection())
            {
                connection.Open();
                DbTransaction transaction = connection.BeginTransaction();
                try
                {
                    DbCommand dbCommand = null;
                    foreach (DBParameter DBParameter in parameters)
                    {
                        dbCommand = db.GetStoredProcCommand("uspw_test1");
                        dbCommand.CommandTimeout = commandTimeout;
                        if (DBParameter != null)
                        {
                            foreach (Parameter parameter in DBParameter.ListParameter)
                                db.AddInParameter(dbCommand, parameter.Name, parameter.DBType, parameter.Value);
                        }
 
                        result += db.ExecuteNonQuery(dbCommand, transaction);
                    } 
                    // Commit the transaction
                    transaction.Commit();
                }
                catch (System.Exception ex)
                {
                    // Rollback transaction
                    transaction.Rollback();
                    throw ex;
                }
                connection.Close();
 
                return;
            }
        }
Angel Petrov
Telerik team
 answered on 30 Mar 2015
2 answers
80 views
Hi,

I am using asyncupload for storing files firstly in temp folder and then move to main folder after saving the records to the database.
I look around many demos given but not found the exact solution. The demos are so complicated.

Please give a simple example using only asyncuploader for my task.
I am be very thankful.

Thanks in advance..
Anuj
Top achievements
Rank 1
 answered on 30 Mar 2015
2 answers
228 views
Hi All,
Just wondering how can I disable Template Column Link button on Client side.
I wanted to change color, change cursor to default, not clickable and wont go to its link.
My code works for other databound column but for this template only through';
is working, all the rest is not applying at all.
Any info would be much appreciated.
Thanks in advance.

ASPX
<telerik:GridTemplateColumn HeaderText="Name" SortExpression="NAME" UniqueName="Name" HeaderTooltip="Name" DataField="NAME" HeaderStyle-Width="25%" ItemStyle-Width="25%" Exportable="true">
   <ItemTemplate>
      <asp:LinkButton id="lnkName" ForeColor="Blue" runat="server" Text='<%# Convert.ToString(DataBinder.Eval(Container.DataItem, "NAME"))%>' CommandName="LAUNCH_NAME" CausesValidation="false"></asp:LinkButton>
   </ItemTemplate>
</telerik:GridTemplateColumn>


JS
function isTaskNA(chk,idx) {
var chkNA = document.getElementById(chk);
var masterTable = $find("<%=GrdMain.ClientID %>").get_masterTableView();
var PN = masterTable.get_dataItems()[idx].get_cell("Name");
var row = masterTable.get_dataItems()[idx].get_element();
   if (chkNA.checked){
   row.style.color = 'gray';
   row.style.textDecoration = 'line-through';
   row.style.fontStyle = 'italic';
   PN.style.ForeColor = 'gray';
   PN.disabled = 'disabled';
   }else {
   row.style.color = 'black';
   row.style.textDecoration = 'none';
   row.style.fontStyle = "normal";
   PN.style.ForeColor = 'blue';
   }
}

RJ
Top achievements
Rank 1
 answered on 30 Mar 2015
2 answers
140 views
Hello, I bind a grid programmatically using NeedDataSource.
Filtering, sorting, paging, all work perfectly.

myDataSource = new ObjectDataSource { ... };
myDataSource.Selecting += SourceSelecting;
...
 
private void SourceSelecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
     e.InputParameters["filterExpression"] = myGrid.MasterTableView.FilterExpression;
}

I have problems when SQL Server BIT columns are bound to a GridCheckBoxColumn and I allow filtering on it.
The problem is that in previous code the filter expression is something like ([MyBoolColumn] = True).
This expression is not valid when I pass it to SQL Server, because True is not a valid bit value (should be 1).

Is there any way to tell the grid to use 0/1 as filter values for GridCheckBoxColumns instead of False/True?

Thanks
Igor
Top achievements
Rank 2
 answered on 29 Mar 2015
1 answer
85 views
I followed your demo here:
http://demos.telerik.com/aspnet-ajax/ajax/examples/common/showingwebcontrols/defaultcs.aspx

And got the show/hide to work great, however I have problems with the treeview after the showing/hiding. I can't click on most of the checkboxes any longer. See the screencast below. 

http://screencast.com/t/irAwzZBFg1

Any ideas?
Bill
Top achievements
Rank 1
 answered on 27 Mar 2015
7 answers
694 views
Hello,
I've got a basic project working that allows a user to "stamp" custom predefined text or statuses on an image. I have it now always adding the new text in the upper corner, but that may not be a good place for different images. Does anyone have any suggestions on a good way to allow the user to specify the position of the text before it is inserted. Ideally, I could allow them to drag it to the new location after I add the text, but from other posts, it doesn't appear that is possible.I'd like to avoid a custom popup dialog if I can, because right now, they just click a custom icon, and it stamps the predefined data.
Thanks,
Adrian
Marbry
Top achievements
Rank 1
 answered on 27 Mar 2015
7 answers
2.0K+ views
Hi all,

I found that EmptyText doesn't work properly for RadTextBox if it has TextMode=Password.
I use v.2012.2.607.35
Also, I noticed that it doesn't work even on demo page:
http://demos.telerik.com/aspnet-ajax/input/examples/radtextbox/firstlook/defaultcs.aspx 

Joe
Top achievements
Rank 2
 answered on 27 Mar 2015
2 answers
73 views
I am seeing weird results when removing bulleted list items (either ordered or unordered).  I am using NewLineMode="div" because we want to wrap our blocks in div tags instead of paragraph tags.  But, when removing the bullets, it wraps them in paragraph tags instead of divs like we want and would expect.  But, I have also tried the demo at http://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx and it properly wraps the removed entries in the NewLineMode value of div that I had selected.  Right now, I am using the 2014.3.1209.35 version of the Telerik AJAX ASP.NET controls.  To eliminate other variables, I made a test project with just a page with a RadEditor on it.  I have tried this in IE 11, Firefox 36, and Chrome 41.  I am confused that the demo behaves differently than the control in my project.

Steps to reproduce:
- Set the NewLineMode to div.
- Create an ordered or unordered list with 6 items.  It does not matter if you start the list first and then press the Bulleted List or Numbered List button or highlight the entries and then press the button.  The HTML looks like this:
    <ul>
        <li>One</li>
        <li>Two</li>
        <li>Three</li>
        <li>Four</li>
        <li>Five</li>
        <li>Six</li>
    </ul>
- Highlight the 3rd and 4th entries.
- The 3rd and 4th entries will be removed from the bulleted list and the list broken into two pieces.  The entries are wrapped in paragraph tags instead of div tags.  Since I am using NewLineMode="div", I would expect Three and Four to be wrapped in div tags.
    <ul>
        <li>One</li>
        <li>Two</li>
    </ul>
    <p>Three</p>
    <p>Four</p>
    <ul>
        <li>Five</li>
        <li>Six</li>
    </ul>

This is what I would expect instead:
    <ul>
        <li>One</li>
        <li>Two</li>
    </ul>
    <div>Three</div>
    <div>Four</div>
    <ul>
        <li>Five</li>
        <li>Six</li>
    </ul>
Mike
Top achievements
Rank 1
 answered on 27 Mar 2015
1 answer
89 views
Hello Team

I am using Telerik RadEditor where I set the max length using JavaScript but when I paste the data from Clipboard to Editor, I gets the message
" Do you want to allow this webpages to access your Clipboards?" if I click Don'tAllow and do the paste again then JavaScript which using to control the max length gets fail and user can paste large amount of data on Editor.

<telerik:RadEditor ContentAreaCssFile="~/Styles/EditorContentAreaCss.css" ID="txtDetails" MaxTextLength="8000"
runat="server" EditModes="Design" EnableResize="false" Height="150px" OnClientLoad="EditorMaxLengthvalidation8000"
OnClientPasteHtml="OnClientPasteHtml8000" NewLineBr="false" NewLineMode="P" Style="border: 1px solid Navy;
background-color: White;" ToolsFile="~/App_Data/RadControls/Editor/ToolsFile.xml"
Width="503px">
<CssFiles>
<telerik:EditorCssFile Value="~/Styles/Editor.css" />
</CssFiles>
</telerik:RadEditor>


JavaScript

function OnClientPasteHtml8000(editor, args) {
var limitCharacters = 8000;
OnClientPasteHtml(editor, args, limitCharacters);
}

function OnClientPasteHtml(editor, args, limitCharacters) {
try {
var commandName = args.get_commandName();
var value = args.get_value();
var lengthWithOutHtml = 0;
var lengthWithHtml = 0;
var lengthDifference = 0;
var messagePaste = 'Max length exceeded to ' + limitCharacters + ' characters. Content cannot paste.';
lengthWithHtml = value.length;

//This condition raise when user paste only text which does't contains any HTML code.
//So due to this we don't suppose to update the 'value' field.
if (value != "") {
//value = $(value).text();
lengthWithOutHtml = value.length;
lengthDifference = lengthWithHtml - lengthWithOutHtml;
}
if (commandName == "PasteFromWord"
|| commandName == "PasteFromWordNoFontsNoSizes"
|| commandName == "PastePlainText"
|| commandName == "PasteAsHtml"
|| commandName == "Paste") {
var textLength = CalculateLength(editor, value);
var updatelimitCharacters = lengthDifference + limitCharacters;
if (textLength > limitCharacters) {
args.set_cancel(true);
alert(messagePaste);
}
                        
        }
}
catch (e) { }
}

function EditorMaxLengthvalidation8000(editor, args) {
var limitCharacters = 8000;
EditorMaxLengthvalidation(editor, args, limitCharacters);
//Hide the tabbing
HideTabbingInEditor(editor);

}

function EditorMaxLengthvalidation(editor, args, limitCharacters) {
var rtfEditor = editor;
var currentMode = rtfEditor.get_mode();
rtfEditor.set_stripFormattingOptions(Telerik.Web.UI.StripFormattingOptions.NoneSupressCleanMessage | Telerik.Web.UI.StripFormattingOptions.MSWordNoMargins);
AttachHandlers(currentMode, rtfEditor, limitCharacters);
editor.get_contentArea().className = "fs-editor";
   
}

function HideTabbingInEditor(editor) {
editor.removeShortCut("InsertTab");
var buttonsHolder = $get(editor.get_id() + "Top"); //get a reference to the top toolbar zone of the editor
var buttons = buttonsHolder.getElementsByTagName("A"); //get a reference to all A elements on the toolbar and disable the tabbing trough them
for (var i = 0; i < buttons.length; i++) {
var a = buttons[i];
a.tabIndex = -1;
a.tabStop = false;
}
var element = editor.get_element();
editor.get_contentAreaElement().tabIndex = element.tabIndex;
element.tabIndex = -1;
}


Afroz khan
Top achievements
Rank 1
 answered on 27 Mar 2015
1 answer
109 views
Hello,

Can somebody help me with my simple problem?

We have TreeView control on our page and it uses
XML file for data source. However, on NavigateURL when we use 3rd party site
with multiple parameters (query string), the XML will have an error after the
"&" from query string, is there any way we can correct this?

XML File Content:

<?xml version="1.0" encoding="utf-8" ?>
<Tree>
  <Node DragEnabled="false" 
        Text="Bankruptcy Pleadings and Motions Library" 
        EditEnabled="False" Value="0" 
        Category="Items" 
        Image="Images/Menu/arrowright.png" 
        Expanded="true" 
        NavigateUrl="https://app.abc.com/embed_widget/s/abc123?view=list&sort=name&direction=ASC&theme=blue" 
        Target="contentFrame" 
        ContextMenuName="BPML">
  </Node>
</Tree>


Thanks,

Renan

 
Ivan Danchev
Telerik team
 answered on 27 Mar 2015
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?