My apologies if this is a vague question. I have a Dot Net 4.0 web app that makes extensive use of Telerik controls, particularly the RadGrid and RadTextBox.
The purpose of the application is to manage mail merge data for a newsletter.
A small number of the newsletter versions use non-Latin right-to-left alphabets such as Arabic.
The process is as follows:
1. The translations (Arabic and others) are sent to us in Excel spreadsheets.
2. The phrases get copied into (Telerik) textboxes of the application. (I should mention that not all fields are entirely in Arabic. It is necessary to mix in some English characters at times.)
3. The phrases get saved to a SQL database in nvarchar fields.
4. The phrases are then used in a Mail Merge through a database view that reads the required fields.
I simply have no experience whatsoever dealing with a situation like this.
For lack of a better question, I'm wondering if I'm overlooking any Telerik features that might be of help to me. What considerations are there in creating a Dot Net web app that has to handle multiple alphabets at once?
<telerik:GridHyperLinkColumn DataTextFormatString="Adres" ItemStyle-ForeColor="Orange" DataNavigateUrlFields="s_adresar" UniqueName="s_adresar" DataNavigateUrlFormatString="file://///SomeServer/Some Directory With Spaces/{0}" Target="_blank" HeaderText="Adres" DataTextField="s_adresar"> </telerik:GridHyperLinkColumn> <%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="VerOcorrencias.aspx.cs" Inherits="DuctorWebSite.OuvidoriaPages.VerOcorrencias" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <meta http-equiv='cache-control' content='no-cache'> <meta http-equiv='expires' content='0'> <meta http-equiv='pragma' content='no-cache'> <link href="../Content/OuvidoriaPages.css" rel="stylesheet" /> <div class="container-full"> <h2>Lista de ocorrências</h2> <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="EntityDataSource1" RenderMode="Auto" Culture="pt-BR" Skin="Metro" AllowAutomaticDeletes="True" AllowFilteringByColumn="True" AllowPaging="True" AutoGenerateColumns="False" OnItemCommand="RadGrid1_ItemCommand" EnableLinqExpressions="False" GroupPanelPosition="Top"> <ExportSettings> <Pdf PageWidth=""> </Pdf> </ExportSettings> <MasterTableView DataSourceID="EntityDataSource1" DataKeyNames="OUV_Id" PageSize="25"> <EditFormSettings> <EditColumn UniqueName="EditCommandColumn" CancelText="Cancelar" EditText="Editar" UpdateText="Confirmar" ButtonType="ImageButton" CancelImageUrl="../Images/icons/cancelar.png" UpdateImageUrl="../Images/icons/ok.png"> </EditColumn> </EditFormSettings> <Columns> <telerik:GridButtonColumn CommandName="Editar" Text="Editar resposta" UniqueName="EditCommandColumn" ButtonType="ImageButton" ImageUrl="../Images/icons/editar.png" Resizable="False"> <ItemStyle Width="41px" /> </telerik:GridButtonColumn> <telerik:GridButtonColumn CommandName="Delete" Text="Apagar mensagem inteira" UniqueName="DeleteColumn" ConfirmText="Você tem certeza que quer apagar essa mensagem?" ConfirmDialogType="RadWindow" ConfirmDialogHeight="25px" HeaderStyle-Width="15px" ItemStyle-Width="15px" ButtonType="ImageButton" ImageUrl="../Images/icons/apagar.png"> <HeaderStyle Width="15px" /> <ItemStyle Width="41px" /> </telerik:GridButtonColumn> <telerik:GridBoundColumn DataField="OUV_Id" DataType="System.Int32" Display="False" FilterControlAltText="Filter OUV_Id column" HeaderText="OUV_Id" ReadOnly="True" SortExpression="OUV_Id" UniqueName="OUV_Id" Visible="False" Resizable="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ItemStyle Width="41px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_DtdRegistro" DataType="System.DateTime" FilterControlAltText="Filter OUV_DtdRegistro column" HeaderText="<b>DATA REGISTRO</b>" SortExpression="OUV_DtdRegistro" UniqueName="OUV_DtdRegistro" ReadOnly="True" DataFormatString="{0:dd/MM/yyyy}" Resizable="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ItemStyle Width="50px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_Protocolo" DataType="System.Double" FilterControlAltText="Filter OUV_Protocolo column" HeaderText="<b>PROTOCOLO</b>" SortExpression="OUV_Protocolo" UniqueName="OUV_Protocolo" ReadOnly="True" Resizable="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ItemStyle Width="30px" /> </telerik:GridBoundColumn> <telerik:GridCalculatedColumn DataFields="OUV_Nome,OUV_Email,OUV_Telefone" FilterControlAltText="Filter column column" UniqueName="column" Expression="OUV_Nome + '<br/>' + OUV_Email + '<br/>' + OUV_Telefone" HeaderText="<b>IDENTIFICAÇÃO</b>" Resizable="False"> <FooterStyle Width="100px" /> <ItemStyle Width="80px" /> </telerik:GridCalculatedColumn> <telerik:GridBoundColumn DataField="OUV_Mensagem" FilterControlAltText="Filter OUV_Mensagem column" HeaderText="<b>MENSAGEM</b>" SortExpression="OUV_Mensagem" UniqueName="OUV_Mensagem" ReadOnly="True" Resizable="False" MaxLength="150"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <FooterStyle Width="500px" /> <ItemStyle Width="250px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_DtdResposta" DataType="System.DateTime" FilterControlAltText="Filter OUV_DtdResposta column" HeaderText="<b>DATA RESPOSTA</b>" SortExpression="OUV_DtdResposta" UniqueName="OUV_DtdResposta" ReadOnly="True" DataFormatString="{0:dd/MM/yyyy}" Resizable="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ItemStyle Width="30px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_Resposta" FilterControlAltText="Filter OUV_Resposta column" HeaderText="<b>RESPOSTA</b>" SortExpression="OUV_Resposta" UniqueName="OUV_Resposta" Resizable="False" MaxLength="150"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> <ItemStyle Width="250px" Wrap="True" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_Nome" FilterControlAltText="Filter OUV_Nome column" HeaderText="OUV_Nome" SortExpression="OUV_Nome" UniqueName="OUV_Nome" Display="False" ReadOnly="True" Visible="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_Email" FilterControlAltText="Filter OUV_Email column" HeaderText="OUV_Email" SortExpression="OUV_Email" UniqueName="OUV_Email" Display="False" ReadOnly="True" Visible="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_Telefone" FilterControlAltText="Filter OUV_Telefone column" HeaderText="OUV_Telefone" SortExpression="OUV_Telefone" UniqueName="OUV_Telefone" Display="False" ReadOnly="True" Visible="False"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="OUV_ChaveLoc" Display="False" FilterControlAltText="Filter OUV_ChaveLoc column" HeaderText="OUV_ChaveLoc" SortExpression="OUV_ChaveLoc" UniqueName="OUV_ChaveLoc" Visible="False" ReadOnly="True"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridCheckBoxColumn DataField="OUV_Ativo" DataType="System.Boolean" Display="False" FilterControlAltText="Filter OUV_Ativo column" HeaderText="OUV_Ativo" SortExpression="OUV_Ativo" UniqueName="OUV_Ativo" Visible="False" ReadOnly="True"> </telerik:GridCheckBoxColumn> <telerik:GridBoundColumn DataField="OUV_idCAT" Display="False" FilterControlAltText="Filter OUV_idCAT column" HeaderText="OUV_idCAT" SortExpression="OUV_idCAT" UniqueName="OUV_idCAT" Visible="False" ReadOnly="True"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CAT_Descr" Display="False" FilterControlAltText="Filter CAT_Descr column" HeaderText="CAT_Descr" SortExpression="CAT_Descr" UniqueName="CAT_Descr" Visible="False" ReadOnly="True"> <ColumnValidationSettings> <ModelErrorMessage Text="" /> </ColumnValidationSettings> </telerik:GridBoundColumn> </Columns> <PagerStyle Position="TopAndBottom" /> </MasterTableView> <FilterMenu RenderMode="Mobile"> </FilterMenu> <HeaderContextMenu RenderMode="Mobile"> </HeaderContextMenu> </telerik:RadGrid> </div> <asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=DuctorWebSiteEntities" DefaultContainerName="DuctorWebSiteEntities" EnableDelete="True" EnableFlattening="False" EntitySetName="Ouvidoria" OrderBy="it.OUV_DtdRegistro Desc" EntityTypeFilter="Ouvidoria"> </asp:EntityDataSource></asp:Content>
function openChildDialog(url, wndName, title) { if (!url) url = "errorPage.aspx"; if (!wndName) wndName = "popup_" + Math.random(); var currentWnd = GetRadWindow(); var browserWnd = window; if (currentWnd) browserWnd = currentWnd.BrowserWindow; setTimeout(function () { browserWnd.add_show(returnDataToParentPopup); var wnd = browserWnd.radopen(url, wndName); wnd.__parentBackReference = window; //pass the current window object of the page that opens the dialog so it can be used later if (title) wnd.set_title(title); }, 0);