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

i have a simple telerik datagrid bounded with sql database table and i have set paging also to 10 records per page when i click next page on my local pc the ajax icon will come and it will load the next page of 10 more records and seems everything fine

but when i publish this application on my webhosting server and run the application the grid loads first 10 records but when i click "next page"  button the ajax icon comes but there are no other records it shows blank screen at the grid records

so where is the problem ??

Pavlina
Telerik team
 answered on 22 Dec 2011
1 answer
83 views
Hi,

I wasn't sure whether it's better to start a new thread, or reawaken this one: http://www.telerik.com/community/forums/aspnet-ajax/editor/radeditor-steals-focus.aspx .
 
I have the same situation which has been described above - when my page loads, the Rad Editor 'steals' focus from the initial control, as soon as it has fully loaded. The problem I have is that the RAD Editor is on a WSS 3.0 installation, and is being used on the 'NewForm.aspx' page for numerous lists right across the site. On each of the different NewForm.aspx pages, the first control (textbox) has a different ID (which I believe is automatically assigned by WSS), so for example on one list the NewForm.aspx might have an ID of "ctl00_m_g_40354816_d967_4093_b621_7161bc04baef_ctl00_ctl04_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField", whereas on another list the ID might be" ctl00_m_g_96dd9dd2_583f_4d27_948d_ce9258d4b232_ctl00_ctl04_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField".

Now I recognised that I could edit the IDs on each of the various NewForm.aspx files, but there are a large number of them, across a large number of sites and lists across an entire intranet. Ideally I'd like to be able to simply make a config change to the RAD Editor itself (to prevent the iFrame stealing the focus). Or perhaps make a change to the shared MasterPage - thereby allowing me to apply the change site wide, without requiring me to edit hundreds of aspx pages.

Can anyone on here think of a clever solution, the only thing I can think to try is to use script to try and find the first control/textbox within the "ms-formtable", but I'm worried that this might lead to performance issues.

Any thoughts?

Thanks in advance,

Rob
Rumen
Telerik team
 answered on 22 Dec 2011
2 answers
152 views
Hello,

I have a grid on my page with a GridEditCommandColumn. In the OnItemDataBound of the grid is disable this column for certain gridrows. This works fine. Now when I enter edit mode for one of the items I show in one column a RadCombobox which does an Ajax callback when the selection changes, to fill another depending RadCombobox. This works fine aswell. But the problem is that all rows (including the earlier rows with no edit command) get an Edit command before them. The item being edited stays in edit mode, but just all other rows now also show an edit column/button. I hope the attached screenshots can make more clear what I mean.

The aspx code:

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="gridResult">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="gridResult" />
                    <telerik:AjaxUpdatedControl ControlID="lblGewerkt" />
                    <telerik:AjaxUpdatedControl ControlID="lblZiek" />
                    <telerik:AjaxUpdatedControl ControlID="lblMutatie" />
                    <telerik:AjaxUpdatedControl ControlID="txtVakantie" />
                    <telerik:AjaxUpdatedControl ControlID="txtZiek" />
                    <telerik:AjaxUpdatedControl ControlID="txtOveruren" />
                    <telerik:AjaxUpdatedControl ControlID="txtHoursheetsLocal" />
                    <telerik:AjaxUpdatedControl ControlID="rdpDate" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rdpDate">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="gridResult" />
                    <telerik:AjaxUpdatedControl ControlID="lblGewerkt" />
                    <telerik:AjaxUpdatedControl ControlID="lblZiek" />
                    <telerik:AjaxUpdatedControl ControlID="lblMutatie" />
                    <telerik:AjaxUpdatedControl ControlID="txtVakantie" />
                    <telerik:AjaxUpdatedControl ControlID="txtZiek" />
                    <telerik:AjaxUpdatedControl ControlID="txtOveruren" />
                    <telerik:AjaxUpdatedControl ControlID="lblWeek" />
                    <telerik:AjaxUpdatedControl ControlID="lblDag" />
                    <telerik:AjaxUpdatedControl ControlID="lblBlocked" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="cmbProjects">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="gridResult" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <!-- /RadAjaxManager -->
    <!-- daysheet !-->
    <table width="100%" class="ShowValueTable">
        <tr>
            <td class="contents">
                <telerik:RadDatePicker runat="server" ID="rdpDate" DateInput-DateFormat="dd-MM-yyyy"
                    Culture="nl-NL" OnSelectedDateChanged="rdpDate_SelectedDateChanged" Enabled="true">
                    <DatePopupButton runat="server" />
                    <Calendar ID="Calendar1" runat="server" />
                    <DateInput ID="DateInput1" runat="server" AutoPostBack="true" DateFormat="dd-MM-yyyy"
                        DisplayDateFormat="dd-MM-yyyy">
                        <IncrementSettings InterceptMouseWheel="false" />
                    </DateInput>
                </telerik:RadDatePicker>
                <asp:Label runat="server" ID="lblWeek" />
            </td>
            <td class="label">
                Vakantie:
            </td>
            <td class="contents">
                <asp:LinkButton runat="server" CausesValidation="false" ID="txtVakantie" OnClientClick="openWindowMutation"></asp:LinkButton>
            </td>
            <td class="label">
                Contract:
            </td>
            <td class="contents">
                <asp:Label runat="server" ID="lblContract" />
            </td>
        </tr>
        <tr>
            <td class="contents" rowspan="2" style="text-align: center; font-size: 14pt;">
                <asp:Label runat="server" ID="lblDag" />
                <asp:Label runat="server" ID="lblBlocked" Font-Size="10pt" Style="color: Red;" />
            </td>
            <td class="label">
                Ziek:
            </td>
            <td class="contents">
                <asp:LinkButton runat="server" CausesValidation="false" ID="txtZiek" OnClientClick="openWindowMutation"></asp:LinkButton>
            </td>
            <td class="label">
                Gewerkt:
            </td>
            <td class="contents">
                <asp:Label runat="server" ID="lblGewerkt" />
            </td>
        </tr>
        <tr>
            <td class="label">
                Overuren:
            </td>
            <td class="label">
                <asp:LinkButton runat="server" CausesValidation="false" ID="txtOveruren" OnClientClick="openWindowMutation"></asp:LinkButton>
            </td>
            <td class="label">
                Mutatie:
            </td>
            <td class="contents">
                <asp:Label runat="server" ID="lblMutatie" />
                <asp:Label runat="server" ID="lblMaxZiek" Style="display: none;" />
            </td>
        </tr>
    </table>
    <!-- /daysheet !-->
 
    <br />
    <br />
 
    <!-- hoursheet !-->
    <telerik:RadGrid runat="server" ID="gridResult" AutoGenerateColumns="False" OnItemDataBound="gridResult_ItemDataBound"
        OnUpdateCommand="gridResult_UpdateCommand" OnDeleteCommand="gridResult_DeleteCommand"
        OnInsertCommand="gridResult_InsertCommand" OnNeedDataSource="gridResult_NeedDataSource"
        OnItemCommand="gridResult_ItemCommand" EnableViewState="true">
        <MasterTableView TableLayout="Fixed" DataKeyNames="OID" EditMode="InPlace" CommandItemDisplay="Top"
            InsertItemDisplay="Bottom" NoMasterRecordsText="Geen taken om weer te geven">
            <CommandItemSettings AddNewRecordText="Nieuwe taak toevoegen" ShowRefreshButton="false" />
            <SortExpressions>
                <telerik:GridSortExpression FieldName="Starttijd" SortOrder="Ascending" />
            </SortExpressions>
            <Columns>
                <telerik:GridEditCommandColumn  ButtonType="ImageButton" UniqueName="EditCommandColumn">
                    <ItemStyle CssClass="MyImageButton" VerticalAlign="Top" />
                    <HeaderStyle Width="5%"></HeaderStyle>
                </telerik:GridEditCommandColumn>
                <telerik:GridBoundColumn UniqueName="OID" DataField="OID" HeaderText="OID" Visible="false" />
                <telerik:GridTemplateColumn HeaderText="Starttijd" UniqueName="Starttijd" AllowFiltering="false"
                    HeaderStyle-Width="10%" ItemStyle-VerticalAlign="Top">
                    <ItemTemplate>
                        <asp:Label ID="lblStartTijd" Text='<%# bind("Starttijd") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadMaskedTextBox runat="server" SelectionOnFocus="SelectAll" ID="txtStarttijd"
                            Text='<%# bind("Starttijd") %>' Mask="<0..23>:<0..59>" Width="85%">
                            <ClientEvents OnBlur="BlurStarttijd" OnLoad="InitStarttijd" />
                        </telerik:RadMaskedTextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <telerik:RadMaskedTextBox runat="server" SelectionOnFocus="SelectAll" ID="txtStarttijd"
                            Text='<%# bind("TempStartTime") %>' Mask="<0..23>:<0..59>" Width="85%">
                            <ClientEvents OnBlur="BlurStarttijd" OnLoad="InitStarttijd" />
                        </telerik:RadMaskedTextBox>
                    </InsertItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Eindtijd" UniqueName="Eindtijd" AllowFiltering="false"
                    HeaderStyle-Width="10%" ItemStyle-VerticalAlign="Top">
                    <ItemTemplate>
                        <asp:Label ID="lblEindTijd" Text='<%# bind("Eindtijd") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadMaskedTextBox runat="server" ID="txtEindtijd" Text='<%# bind("Eindtijd") %>'
                            Mask="<0..23>:<0..59>" Width="85%">
                            <ClientEvents OnBlur="BlurEindtijd" OnLoad="InitEindtijd" />
                        </telerik:RadMaskedTextBox>
                        <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Starttijd mag niet plaatsvinden na eindtijd"
                            Text="*" ClientValidationFunction="compareTime" ControlToValidate="txtEindtijd"
                            SetFocusOnError="true"></asp:CustomValidator>
                        <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="Er mag geen overlap plaatsvinden tussen een of meerdere ingevoerde taken"
                            Text="*" ClientValidationFunction="checkForOverlap" ControlToValidate="txtEindtijd"
                            SetFocusOnError="true"></asp:CustomValidator>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <telerik:RadMaskedTextBox runat="server" ID="txtEindtijd" Text='<%# bind("TempEndTime") %>'
                            Mask="<0..23>:<0..59>" Width="85%">
                            <ClientEvents OnBlur="BlurEindtijd" OnLoad="InitEindtijd" />
                        </telerik:RadMaskedTextBox>
                        <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Starttijd mag niet plaatsvinden na eindtijd"
                            Text="*" ClientValidationFunction="compareTime" ControlToValidate="txtEindtijd"
                            SetFocusOnError="true"></asp:CustomValidator>
                        <asp:CustomValidator ID="CustomValidator2" runat="server" ErrorMessage="Er mag geen overlap plaatsvinden tussen een of meerdere ingevoerde taken"
                            Text="*" ClientValidationFunction="checkForOverlap" ControlToValidate="txtEindtijd"
                            SetFocusOnError="true"></asp:CustomValidator>
                    </InsertItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridDropDownColumn DropDownControlType="RadComboBox"></telerik:GridDropDownColumn>
                <telerik:GridTemplateColumn HeaderText="Project" UniqueName="Project" AllowFiltering="false"
                    HeaderStyle-Width="25%" ItemStyle-VerticalAlign="Top">
                    <ItemTemplate>
                        <asp:Label ID="lblProject" Text='<%# bind("ProjectNaam") %>' runat="server" />
                    </ItemTemplate>
                     
                    <EditItemTemplate>
                        <telerik:RadComboBox ID="cmbProjects" MarkFirstMatch="true" AllowCustomText="true"
                            DataSource="<%# getProjects() %>" DataTextField="Naam" DataValueField="ProjectNumber"
                            runat="server" SelectedValue='<%# Eval("ProjectID") %>' OnDataBound="cmbProject_Edit_DataBound"
                            OnSelectedIndexChanged="cmbProject_SelectedIndexChanged" OnTextChanged="cmbProject_TextChanged"
                            AutoPostBack="true" CausesValidation="false" Width="75%" />
                        <asp:RequiredFieldValidator ID="ProjectValidator2" runat="server" ControlToValidate="cmbProjects"
                            Text="*" ErrorMessage="Project moet ingevuld worden" SetFocusOnError="true" />
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <telerik:RadComboBox ID="cmbProjects" MarkFirstMatch="true" AllowCustomText="true"
                            DataSource="<%# getProjects() %>" DataTextField="Naam" DataValueField="ProjectNumber"
                            runat="server" SelectedValue='<%# Eval("ProjectID") %>' OnDataBound="cmbProject_Insert_DataBound"
                            OnSelectedIndexChanged="cmbProject_SelectedIndexChanged" OnTextChanged="cmbProject_TextChanged"
                            AutoPostBack="true" CausesValidation="false" Width="75%" />
                        <asp:RequiredFieldValidator ID="ProjectValidator2" runat="server" ControlToValidate="cmbProjects"
                            Text="*" ErrorMessage="Project moet ingevuld worden" SetFocusOnError="true" />
                    </InsertItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Deelproject" UniqueName="Project" AllowFiltering="false"
                    HeaderStyle-Width="25%" ItemStyle-VerticalAlign="Top">
                    <ItemTemplate>
                        <asp:Label ID="lblSubProject" Text='<%# bind("SubProjectNaam") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadComboBox ID="cmbSubProjects" MarkFirstMatch="true" AllowCustomText="true"
                            OnTextChanged="cmbSubProject_TextChanged" AutoPostBack="true" CausesValidation="false"
                            runat="server" Width="75%" />
                        <asp:RequiredFieldValidator ID="SubProjectValidator2" runat="server" ControlToValidate="cmbSubProjects"
                            Text="*" ErrorMessage="Subproject moet ingevuld worden" />
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <telerik:RadComboBox ID="cmbSubProjects" MarkFirstMatch="true" AllowCustomText="true"
                            OnTextChanged="cmbSubProject_TextChanged" AutoPostBack="true" CausesValidation="false"
                            runat="server" Width="75%" />
                        <asp:RequiredFieldValidator ID="SubProjectValidator2" runat="server" ControlToValidate="cmbSubProjects"
                            Text="*" ErrorMessage="Subproject moet ingevuld worden" />
                    </InsertItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="Omschrijving" UniqueName="Omschrijving" AllowFiltering="false"
                    HeaderStyle-Width="20%" ItemStyle-VerticalAlign="Top">
                    <ItemTemplate>
                        <asp:Label ID="lblOmschrijving" Text='<%# bind("Omschrijving") %>' runat="server" />
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadTextBox runat="server" ID="txtOmschrijving" Text='<%# bind("Omschrijving") %>'
                            TextMode="MultiLine" Width="80%" SelectionOnFocus="SelectAll" />
                        <asp:RequiredFieldValidator ID="omschrijvingValidator" runat="server" ControlToValidate="txtOmschrijving"
                            Text="*" ErrorMessage="Omschrijving moet ingevuld worden" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" UniqueName="DeleteCommandColumn"
                    ConfirmDialogType="RadWindow" ConfirmText="Weet u zeker dat u deze taak wilt verwijderen?">
                    <HeaderStyle Width="5%"></HeaderStyle>
                    <ItemStyle CssClass="MyImageButton" VerticalAlign="Top" />
                </telerik:GridButtonColumn>
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>
    <telerik:GridMaskedColumnEditor ID="GridMaskedColumnEditor1" runat="server" />
    <telerik:GridTextBoxColumnEditor ID="GridTextBoxColumnEditor1" runat="server" TextBoxMode="MultiLine" />
    <telerik:GridDropDownListColumnEditor ID="GridDropDownListColumnEditor1" runat="server" />
    <!-- /hoursheet -->
    <!-- RadWindow -->
    <telerik:RadWindow runat="server" ID="windowMutation" Width="375" Height="375" OnClientClose="windowClose"
        NavigateUrl="AlgemeneUrenInvoer.aspx" Title="Algemene uren bewerken" VisibleStatusbar="false">
    </telerik:RadWindow>
    <!-- /RadWindow -->
    <!-- hidden buttons (used to force save/add) -->
    <asp:Button ID="btnAdd" runat="server" Style="display: none" CausesValidation="false"
        OnClick="AddButton_Click" />
    <asp:Button ID="btnSave" runat="server" Style="display: none" OnClick="SaveButton_Click" />
    <asp:Button ID="btnSubmit" Style="display: none" CausesValidation="true" runat="server" />
    <!-- / hidden buttons -->
    <!-- hidden fields (used for validation) -->
    <asp:TextBox runat="server" ID="txtGewerktMin" Style="display: none"></asp:TextBox>
    <asp:TextBox runat="server" ID="txtZiekteMin" Style="display: none"></asp:TextBox>
    <asp:TextBox runat="server" ID="txtHoursheetsLocal" Style="display: none"></asp:TextBox>
    <input type="hidden" id="txtStart" />
    <input type="hidden" id="txtEind" />
    <!-- / hidden fields -->
    <!-- ValidationSummary -->
    <asp:ValidationSummary runat="server" ID="vsum" ShowSummary="false" ShowMessageBox="true"
        HeaderText="Opslaan is mislukt door de volgende fouten:"></asp:ValidationSummary>
    <!-- / ValidationSummary -->

Code behind:

using System;
using System.Linq;
using System.Collections.Generic;
using UrenCockpit.Business;
using UrenCockpit.Process;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web;
using System.Drawing;
using Telerik.Web.UI;
using UrenCockpit.Model;
using System.Collections.Specialized;
using System.Web.Script.Serialization;
 
namespace UrenCockpit.View.Hours
{
    public partial class UrenInvoer2 : PageExtender
    {
        private DateTime _date;
        private User _user;
 
        private const string controlOID = "OID";
        private const string controlProject = "cmbProjects";
        private const string controlSubProjects = "cmbSubProjects";
        private const string controlOmschrijving = "txtOmschrijving";
        private const string controlStarttijd = "txtStarttijd";
        private const string controlEindtijd = "txtEindtijd";
 
        private const string fieldStarttijd = "Starttijd";
        private const string fieldEindtijd = "Eindtijd";
        private const string fieldTempStarttijd = "TempStartTime";
        private const string fieldTempEindtijd = "TempEndTime";
        private const string fieldOmschrijving = "Omschrijving";
        private const string fieldSubproject = "Subproject";
        private const string fieldProject = "ProjectID";
 
        private const string commandEdit = "EditCommandColumn";
        private const string commandDelete = "DeleteCommandColumn";
        private const string commandInsert = "InitInsertButton";
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (rdpDate.SelectedDate == null)
            {
                if (Session["selectedDate"] != null)
                {
                    rdpDate.SelectedDate = (DateTime)Session["selectedDate"];
                }
                else
                {
                    rdpDate.SelectedDate = DateTime.Now;
                }
            }
            _date = rdpDate.SelectedDate.Value;
            _user = UserInfo.instance.User;
 
            if (!IsPostBack)
            {
                initForm();
                InitialiseDaysheet();
            }
            txtZiek.Attributes.Add("onclick", "openWindowMutation()");
            txtVakantie.Attributes.Add("onclick", "openWindowMutation()");
            txtOveruren.Attributes.Add("onclick", "openWindowMutation()");
        }
 
        // Initialise the min and maxvalues for the datepicker control
        private void initForm()
        {
            rdpDate.MaxDate = DateTime.Now;
            if (_user.pdx_employ_obj.InDienstSinds.HasValue)
            {
                rdpDate.MinDate = _user.pdx_employ_obj.InDienstSinds.Value;
            }
            else
            {
                rdpDate.MinDate = rdpDate.MaxDate;
            }
            Session["selectedDate"] = rdpDate.SelectedDate.Value;
 
            Daysheet daysheet = Daysheet.getDaysheet(_user.pdx_employ_obj, _date);
            txtGewerktMin.Text = Utility.minutesToHours(daysheet.NormaleMinuten - daysheet.GewerkteMinuten);
        }
 
        // (Re-)Initialise Daysheet section with values from database
        private void InitialiseDaysheet()
        {
            Daysheet daysheet = Daysheet.getDaysheet(_user.pdx_employ_obj, _date);
 
            if (daysheet != null)
            {
                short contract = daysheet.NormaleMinuten;
                short gewerkt = daysheet.GewerkteMinuten;
                short vakantie = daysheet.VakantieMinuten;
                short ziek = daysheet.ZiekteMinuten;
                short overwerk = daysheet.OverMinuten;
                int mutatie = (gewerkt + vakantie + ziek + overwerk) - contract;
 
                SetDaySheetFields(contract, gewerkt, vakantie, ziek, overwerk, mutatie);
            }
        }
 
        // Set the fields in the Daysheet section
        private void SetDaySheetFields(short contract, short gewerkt, short vakantie, short ziek, short overwerk, int mutatie)
        {
            lblWeek.Text = "Week: " + Utility.getWeekNumber(_date).ToString();
            lblDag.Text = Utility.getWeekday(_date.DayOfWeek, false);
            lblBlocked.Text = hoursConfirmed() ? "<br>bevestigd" : "";
 
            lblContract.Text = Utility.minutesToHours(contract);
            txtVakantie.Text = Utility.minutesToHours(vakantie);
            txtZiek.Text = Utility.minutesToHours(ziek);
            txtOveruren.Text = Utility.minutesToHours(overwerk);
            lblGewerkt.Text = Utility.minutesToHours(gewerkt);
 
            lblMutatie.ForeColor = (mutatie < 0) ? Color.Red : Color.Green;
            lblMutatie.Text = Utility.minutesToHours(mutatie);
            lblMaxZiek.Text = Utility.minutesToHours(contract - gewerkt);
        }
 
        // Update current Daysheet values with entered data
        private void UpdateDaysheet()
        {
            Daysheet daysheet = Daysheet.getDaysheet(_user.pdx_employ_obj, _date);
            short totaalMinuten = CalculateTotalMinutesHoursheet();
            daysheet.GewerkteMinuten = totaalMinuten;
 
            daysheet.VakantieMinuten = (short)Utility.hourstringToMinutes(txtVakantie.Text);
            daysheet.ZiekteMinuten = (short)Utility.hourstringToMinutes(txtZiek.Text);
            daysheet.OverMinuten = (short)Utility.hourstringToMinutes(txtOveruren.Text);
 
            txtGewerktMin.Text = Utility.minutesToHours(daysheet.NormaleMinuten - daysheet.GewerkteMinuten);
 
            daysheet.Save();
            InitialiseDaysheet();
        }
 
        // Calculate the total minutes value of all the hoursheet rows for this day
        private short CalculateTotalMinutesHoursheet()
        {
            short totaalMinuten = 0;
            foreach (Hoursheet hs in getHourDetails())
            {
                totaalMinuten += hs.Minuten;
            }
            return totaalMinuten;
        }
 
        // Fill projects combobox and set selection if selected is provided
        private void fillProjects(pdx_Subproject selected, RadComboBox rcbProjects)
        {
            rcbProjects.Items.Clear();
            foreach (pdx_Project project in getProjects())
            {
                RadComboBoxItem item = new RadComboBoxItem();
                item.Value = project.ProjectNumber.ToString();
                item.Text = project.Naam;
                rcbProjects.Items.Add(item);
            }
            if (selected != null)
            {
                rcbProjects.SelectedValue = selected.pdx_Project.ProjectNumber.ToString();
            }
        }
 
        // Fill projects combobox without setting a selection
        private void fillProjects(RadComboBox rcbProjects)
        {
            fillProjects(null, rcbProjects);
        }
 
        // Fill subprojects combobox and set selection if selected is provided
        private void fillSubProjects(pdx_Project proj, pdx_Subproject selected, RadComboBox comboBox)
        {
            IEnumerable<pdx_Subproject> subprojects = proj.pdx_Subprojects.Where(s => s.SubAfgesloten == false);
 
            comboBox.Items.Clear();
            foreach (pdx_Subproject subproject in subprojects)
            {
                RadComboBoxItem item = new RadComboBoxItem();
                item.Value = subproject.SubNumber.ToString();
                item.Text = subproject.SubNaam;
                comboBox.Items.Add(item);
            }
            if (selected != null)
            {
                comboBox.SelectedValue = selected.SubNumber.ToString();
            }
        }
 
        // Fill subprojects combobox based on the first project item for a user
        private void fillSubProjects(RadComboBox comboBox)
        {
            IQueryable<pdx_Project> projects = getProjects();
            fillSubProjects(projects.FirstOrDefault(), null, comboBox);
        }
 
        // Return the value of any item based by their fieldname
        private string getGridItemValue(string fieldName, GridEditableItem dataItem)
        {
            if (dataItem[fieldName].Controls.Count > 0)
            {
                Control control = dataItem[fieldName].Controls[0];
 
                if (control is TextBox)
                    return ((TextBox)control).Text;
                else if (control is RadMaskedTextBox)
                    return ((RadMaskedTextBox)control).Text;
                else if (control is RadComboBox)
                    return ((RadComboBox)control).SelectedValue;
                else
                    return "";
            }
            else
            {
                return dataItem[fieldName].Text;
            }
        }
 
        // Call function to check for breaks and if there are any, add them to a collection
        private List<BreakSheet> checkForBreaks(IEnumerable<CustomHourSheet> hoursheets)
        {
            int diff = 0;
            List<BreakSheet> breaks = new List<BreakSheet>();
            for (int i = 1; i < hoursheets.Count(); i++)
            {
                string starttijd = hoursheets.ElementAt(i).Starttijd;
                string eindtijdvorige = hoursheets.ElementAt(i - 1).Eindtijd;
                DateTime dt1 = new DateTime(2011, 12, 31, Convert.ToInt32(eindtijdvorige.Substring(0, 2)), Convert.ToInt32(eindtijdvorige.Substring(3, 2)), 0);
                DateTime dt2 = new DateTime(2011, 12, 31, Convert.ToInt32(starttijd.Substring(0, 2)), Convert.ToInt32(starttijd.Substring(3, 2)), 0);
                diff = dt2.Subtract(dt1).Minutes;
 
                if (diff > 0)
                {
                    BreakSheet breakSheet = new BreakSheet()
                    {
                        StartTijd = starttijd,
                        EindTijd = eindtijdvorige,
                        Duur = diff
                    };
                    breaks.Add(breakSheet);
                }
            }
            if (breaks.Count > 0)
            {
                return breaks;
            }
            return null;
        }       
 
        private void DisableEditDisplayForAllRows()
        {
            GridDataItemCollection items = gridResult.Items;
            foreach (GridEditableItem gi in items)
            {
                gi[commandDelete].Text = "";
                gi[commandEdit].Text = "";
            }
        }
 
        private void DisableEditDisplay(GridItemEventArgs e)
        {
             
            GridDataItem gridItem = (GridDataItem)e.Item;
            gridItem[commandEdit].Text = "";
            gridItem[commandDelete].Text = "";
                         
        }
 
        #region Custom CRUD actions
 
        private void DoDelete(GridEditableItem gridEditableItem)
        {
            Hoursheet hs = Hoursheet.Retrieve(getGridItemValue(controlOID, gridEditableItem));
            hs.Delete();
            UpdateDaysheet();
        }
 
        private void DoInsert(GridEditableItem gridEditableItem)
        {
            Hoursheet hs = new Hoursheet();
            if (AddOrUpdate(gridEditableItem, hs))
            {
                Hoursheet.Insert(hs, null);
                UpdateDaysheet();
            }
        }
 
        private void DoUpdate(GridEditableItem gridEditableItem)
        {
            Hoursheet hs = Hoursheet.Retrieve(getGridItemValue(controlOID, gridEditableItem));
            if (AddOrUpdate(gridEditableItem, hs))
            {
                hs.Save();
                UpdateDaysheet();
            }
        }
 
        private bool AddOrUpdate(GridEditableItem gridEditableItem, Hoursheet hs)
        {
            //Add correct date to ensure no default date is taken
            bool canSave;
 
            string date = rdpDate.SelectedDate.Value.ToString("yyyy-MM-dd");
            RadMaskedTextBox starttijd = gridEditableItem.FindControl(controlStarttijd) as RadMaskedTextBox;
            string start = starttijd.TextWithPromptAndLiterals;
 
            RadMaskedTextBox eindtijd = gridEditableItem.FindControl(controlEindtijd) as RadMaskedTextBox;
            string eind = eindtijd.TextWithPromptAndLiterals;
 
            hs.Datum = rdpDate.SelectedDate.Value;
            hs.Starttijd = DateTime.Parse(date + " " + start);
            hs.Eindtijd = DateTime.Parse(date + " " + eind);
            hs.PerNumber = _user.pdx_employ_obj.PerNumber;
            TimeSpan diff = hs.Eindtijd - hs.Starttijd;
            hs.Minuten = (short)diff.TotalMinutes;
 
            RadComboBox cmbProjects = gridEditableItem.FindControl(controlProject) as RadComboBox;
            RadComboBox cmbSubProjects = gridEditableItem.FindControl(controlSubProjects) as RadComboBox;
 
            string project = cmbProjects.SelectedValue;
            string subProject = cmbSubProjects.SelectedValue;
 
            if (subProject.IsNullOrEmpty())
            {
                hs.SubProject = null;
                canSave = false;
            }
            else
            {
                hs.SubProject = long.Parse(subProject);
                canSave = true;
            }
 
            RadTextBox omschrijving = gridEditableItem.FindControl(controlOmschrijving) as RadTextBox;
            hs.Omschrijving = omschrijving.Text;
 
            rdpDate.Enabled = true;
            return canSave;
        }
 
        #endregion
 
        #region Custom Events
 
        // Force "add new record" to show, this simulates pressing the "+" button
        protected void AddButton_Click(object sender, EventArgs e)
        {
            ListDictionary newValues = generateEmptyRow();
            gridResult.MasterTableView.InsertItem(newValues);
 
            gridResult.MasterTableView.IsItemInserted = true;
            gridResult.Rebind();
 
            GridEditableItem gridItem = (GridEditableItem)gridResult.MasterTableView.GetInsertItem();
            gridItem.FindControl(controlStarttijd).Focus();
 
            rdpDate.Enabled = false;
        }
 
        // Generates an empty row that's used to fill with data for a new row later on
        private System.Collections.Specialized.ListDictionary generateEmptyRow()
        {
            System.Collections.Specialized.ListDictionary newValues = new System.Collections.Specialized.ListDictionary();
            newValues[fieldStarttijd] = string.Empty;
            newValues[fieldEindtijd] = string.Empty;
            newValues[fieldTempStarttijd] = GetTimeForNewrow().ToString("HH:mm");
            newValues[fieldTempEindtijd] = GetTimeForNewrow().AddMinutes(15).ToString("HH:mm");
            newValues[fieldOmschrijving] = string.Empty;
            newValues[fieldSubproject] = string.Empty;
            newValues[fieldProject] = string.Empty;
            return newValues;
        }
 
        private List<LocalHoursheet> generateLocalHoursheets(List<CustomHourSheet> hoursheets)
        {
            List<LocalHoursheet> returnValue = new List<LocalHoursheet>();
            DateTime selected = rdpDate.SelectedDate.Value;
            DateTime compare = new DateTime(selected.Year, selected.Month, selected.Day, 0, 0, 0);
            foreach (CustomHourSheet chs in hoursheets)
            {
                returnValue.Add(new LocalHoursheet()
                    {
                        DiffStartMinuten = (int)(chs.StartDatum - compare).TotalMinutes,
                        DiffEindMinuten = (int)(chs.EindDatum - compare).TotalMinutes,
                    });
            }
            return returnValue;
        }
 
        // Add or update a new record, this simulates pressing the "✔" button
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            bool saved = false;
            GridEditableItem gridItem = null;
            if (gridResult.MasterTableView.IsItemInserted || gridResult.EditItems.Count > 0)
            {
                if (gridResult.MasterTableView.IsItemInserted)
                {
                    gridItem = (GridEditableItem)gridResult.MasterTableView.GetInsertItem();
                    DoInsert(gridItem);
                    saved = true;
                }
                else
                {
                    gridItem = (GridEditableItem)gridResult.EditItems[0];
                    DoUpdate(gridItem);
                    saved = true;
                }
            }
            if (gridItem != null && saved)
            {
                gridItem.Edit = false;
                gridResult.Rebind();
            }
        }
 
        // Fill subprojects with no project selected (from insert mode)
        protected void cmbProject_Insert_DataBound(object sender, EventArgs e)
        {
            GridEditableItem item = ((Control)sender).NamingContainer as GridEditableItem;
 
            RadComboBox rcbProject = (RadComboBox)sender;
            RadComboBox rcbSubProjects = (RadComboBox)item.FindControl(controlSubProjects);
 
            if (rcbProject.SelectedIndex > -1 && rcbProject.SelectedValue != "")
            {
                pdx_Project project = pdx_Project.Retrieve(rcbProject.SelectedValue);
                if (project != null)
                {
                    fillSubProjects(project, null, rcbSubProjects);
                    rcbSubProjects.Focus();
                }
            }
        }
 
        // Fill subprojects with a project selected (from edit mode)
        protected void cmbProject_Edit_DataBound(object sender, EventArgs e)
        {
            GridEditableItem item = ((Control)sender).NamingContainer as GridEditableItem;
 
            RadComboBox rcbProject = (RadComboBox)sender;
            RadComboBox rcbSubProjects = (RadComboBox)item.FindControl(controlSubProjects);
 
            if (rcbProject.SelectedIndex > -1 && rcbProject.SelectedValue != "")
            {
                pdx_Project project = pdx_Project.Retrieve(rcbProject.SelectedValue);
 
                CustomHourSheet hs = (CustomHourSheet)item.DataItem;
                if (project != null && hs.pdx_Subproject != null)
                {
                    fillSubProjects(project, hs.pdx_Subproject, rcbSubProjects);
                    rcbSubProjects.Focus();
                }
            }
        }
 
        protected void cmbProject_TextChanged(object sender, EventArgs e)
        {
            GridEditableItem item = ((Control)sender).NamingContainer as GridEditableItem;
 
            RadComboBox rcbProject = (RadComboBox)sender;
            RadComboBox rcbSubProjects = (RadComboBox)item.FindControl(controlSubProjects);
            pdx_Project project = null;
 
            // tegengaan van invoer van een niet bestaand project
            if (rcbProject.SelectedValue == "")
            {
                rcbProject.SelectedIndex = 0;
            }
            project = pdx_Project.Retrieve(rcbProject.SelectedValue);
            if (project != null)
            {
                fillSubProjects(project, null, rcbSubProjects);
                rcbSubProjects.SelectedIndex = -1;
            }
            rcbSubProjects.Text = "";
            rcbSubProjects.Focus();
        }
 
        protected void cmbProject_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            GridEditableItem item = ((Control)sender).NamingContainer as GridEditableItem;
 
            RadComboBox rcbProject = (RadComboBox)sender;
            RadComboBox rcbSubProjects = (RadComboBox)item.FindControl(controlSubProjects);
 
            if (rcbProject.SelectedValue != "")
            {
                pdx_Project project = pdx_Project.Retrieve(rcbProject.SelectedValue);
                if (project != null)
                {
                    fillSubProjects(project, null, rcbSubProjects);
                    rcbSubProjects.SelectedIndex = -1;
                    rcbSubProjects.Text = "";
                    rcbSubProjects.Focus();
                }
            }
        }
 
        protected void cmbSubProject_TextChanged(object sender, EventArgs e)
        {
            GridEditableItem item = ((Control)sender).NamingContainer as GridEditableItem;
            RadComboBox rcbSubProject = (RadComboBox)sender;
            RadTextBox txtOmschrijving = (RadTextBox)item.FindControl(controlOmschrijving);
            // tegengaan van invoer van een niet bestaand project
            if (rcbSubProject.SelectedValue == "")
            {
                rcbSubProject.SelectedIndex = 0;
            }
            txtOmschrijving.Focus();
        }
 
        protected void rdpDate_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e)
        {
            InitialiseDaysheet();
            gridResult.Rebind();
            rdpDate.Focus();
            Session["selectedDate"] = rdpDate.SelectedDate.Value;
        }
 
        #endregion
 
        # region Data Access code
 
        private DateTime GetTimeForNewrow()
        {
            DateTime returnValue = new DateTime();
 
            if (getHourDetails().Count() > 0)
            {
                //If there already are hoursheets in the grid, determine new starttime based on max eindtijd
                DateTime maxDateHS = getHourDetails().Where(h => h.Datum == rdpDate.SelectedDate.Value).Max(h => h.Eindtijd);
                if (maxDateHS != null)
                {
                    returnValue = maxDateHS;
                }
                // Else determine new starttime by workschedule
                else
                {
                    Werkrooster rooster = Werkrooster.getRoster(_user.pdx_employ_obj, _date);
                    int dayOfWeek = (int)rdpDate.SelectedDate.Value.DayOfWeek;
                    DateTime maxDateWB = rooster.Werkbloks.Where(wb => wb.Weekdag == dayOfWeek).Max(wb => wb.Starttijd.GetValueOrDefault(rdpDate.SelectedDate.Value));
 
                    // If user has a werkblok, use this
                    if (maxDateWB != null)
                    {
                        returnValue = maxDateWB;
                    }
                }
            }
            else
            {
                returnValue = new DateTime(2011, 12, 31, 9, 0, 0);
            }
            return returnValue;
        }
 
        private IEnumerable<Hoursheet> getHourDetails()
        {
            //Get all hoursheets for this user and date
            return Hoursheet.RetrieveAll()
                .Where(h => h.PerNumber == _user.pdx_employ && h.Datum == _date)
                .OrderBy(h => h.Starttijd);
        }
 
        protected IQueryable<pdx_Project> getProjects()
        {
            IQueryable<pdx_Project> projects = pdx_Project.RetrieveAll()
                .Where(p => p.Afgesloten != true).OrderBy(p => p.Naam);
 
            projects = projects.Where(p => p.ProjectEmployeeRoles.Any(r => r.Employ == _user.pdx_employ));
            return projects;
        }
 
        private bool hoursConfirmed()
        {
            return (_user.UrenBevestigings_Obj != null && _user.UrenBevestigings_Obj.First().Datum.Value >= _date);
        }
 
        # endregion
 
        #region RadGrid Events
 
        protected void gridResult_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            IEnumerable<CustomHourSheet> hoursheets = new List<CustomHourSheet>();
 
            hoursheets = from hs in getHourDetails()
                         select new CustomHourSheet
                         {
                             Datum = hs.Datum,
                             Eindtijd = hs.Eindtijd.ToString("HH:mm"),
                             Minuten = hs.Minuten,
                             OID = hs.OID,
                             Omschrijving = hs.Omschrijving,
                             Starttijd = hs.Starttijd.ToString("HH:mm"),
                             Subproject = hs.SubProject,
                             pdx_Subproject = hs.pdx_Subproject,
                             ProjectID = hs.pdx_Subproject.pdx_Project.ProjectNumber,
                             ProjectNaam = hs.pdx_Subproject != null ? hs.pdx_Subproject.pdx_Project.Naam : "",
                             SubProjectNaam = hs.pdx_Subproject != null ? hs.pdx_Subproject.SubNaam : "",
                             SubProjectID = hs.pdx_Subproject.SubNumber,
                             TempStartTime = GetTimeForNewrow().ToString("HH:mm"),
                             TempEndTime = GetTimeForNewrow().AddMinutes(15).ToString("HH:mm"),
                             StartDatum = hs.Starttijd,
                             EindDatum = hs.Eindtijd
                         };
            List<CustomHourSheet> hsList = hoursheets.ToList();
            if (hoursheets.Count() > 1)
            {
                if (checkForBreaks(hoursheets) != null)
                {
                    List<BreakSheet> breaksheets = checkForBreaks(hoursheets);
                    foreach (BreakSheet bs in breaksheets)
                    {
                        hsList.Add(new CustomHourSheet()
                        {
                            Eindtijd = bs.StartTijd,
                            Starttijd = bs.EindTijd,
                            Minuten = bs.Duur,
                        });
                    }
                }
            }
            gridResult.DataSource = hsList;
            List<LocalHoursheet> hsLocal = generateLocalHoursheets(hsList);
 
            string json = GenerateJSONString(hsLocal);
            txtHoursheetsLocal.Text = json;
        }
 
        private static string GenerateJSONString(List<LocalHoursheet> hsLocal)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string json = serializer.Serialize(hsLocal);
            return json;
        }
 
        protected void gridResult_ItemDataBound(object sender, GridItemEventArgs e)
        {
            // Viewmode, data confirmed
            bool confirmed = hoursConfirmed();
            if (e.Item is GridDataItem && !e.Item.IsInEditMode && confirmed)
            {
                DisableEditDisplay(e);
            }
            // Editmode
            else if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                RadMaskedTextBox start = e.Item.FindControl(controlStarttijd) as RadMaskedTextBox;
                start.Focus();
                //DisableEditDisplayForAllRows();
            }
            // Disable insert button on confirmed
            if (e.Item is GridCommandItem && confirmed)
            {
                e.Item.FindControl(commandInsert).Parent.Visible = false;
            }
            // Disable editdisplay for breaksheets
            if ((e.Item is GridEditableItem && !e.Item.IsInEditMode))
            {
                // Disable editdisplay for breaksheets
                CustomHourSheet hs = (CustomHourSheet)e.Item.DataItem;
                if (hs.Omschrijving == "" || hs.Omschrijving == null)
                {
                    DisableEditDisplay(e);
                }
                // Disable editdisplay for when editmode is set
                if (Convert.ToInt32(Session["editMode"]) == 1)
                {
                    DisableEditDisplay(e);
                }
            }           
        }
 
        protected void gridResult_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            if (e.CommandName == RadGrid.InitInsertCommandName)
            {
                e.Canceled = true;
                ListDictionary newValues = generateEmptyRow();
                e.Item.OwnerTableView.InsertItem(newValues);
                Session["editMode"] = 1;
            }
            if (e.CommandName == RadGrid.CancelCommandName || e.CommandName == RadGrid.PerformInsertCommandName || e.CommandName == RadGrid.UpdateCommandName || e.CommandName == RadGrid.UpdateEditedCommandName)
            {
                rdpDate.Enabled = true;
                Session["editMode"] = 0;
            }
            else if (e.CommandName == RadGrid.InitInsertCommandName || e.CommandName == RadGrid.EditCommandName)
            {
                rdpDate.Enabled = false;
                Session["editMode"] = 1;
            }
        }
 
        // Event handler that handles UpdateCommand
        protected void gridResult_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            GridEditableItem gridEditableItem = (GridEditableItem)e.Item;
            DoUpdate(gridEditableItem);
        }
 
        // Event handler that handles DeleteCommand
        protected void gridResult_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            GridEditableItem gridEditableItem = (GridEditableItem)e.Item;
            DoDelete(gridEditableItem);
        }
 
        // Event handler that handles InsertCommand
        protected void gridResult_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            GridEditableItem gridEditableItem = (GridEditableItem)e.Item;
            DoInsert(gridEditableItem);
        }
        #endregion
 
    }
}

For screenshots see attachments. They will make more clear what I mean.
Tsvetina
Telerik team
 answered on 22 Dec 2011
1 answer
39 views

Hello,

I wanted to make a suggestion for a control here for future releases. You might have seen websites where they have image thumbnails and when you click on one of those thumbnails the image comes out and shows up in full size on screen, click the full size image and the image disappears back in to the thumbnail. Can you implement a control to offer such functionality?


Thanks.
Regards.
Sebastian
Telerik team
 answered on 22 Dec 2011
2 answers
62 views
from page

http://demos.telerik.com/aspnet-ajax/editor/examples/builtinmodules/defaultcs.aspx

link

http://www.telerik.com/help/aspnet-ajax/typesofmodules.html

should be:

http://www.telerik.com/help/aspnet-ajax/editor-types-of-modules.html

Besides, what in fact is the "RadEditorDiagnostics" module. I cannot finf any information on it.

Marc
Rumen
Telerik team
 answered on 22 Dec 2011
3 answers
68 views
can any1 suggest how to get focus on tab key press on AsyncUpload
Peter Filipov
Telerik team
 answered on 22 Dec 2011
1 answer
70 views
Hello...
i have a question... 

after add a button in nestedView , How can i  raise click button event in Radgrid nestedview ?

i attached screen shot , because i didn't write  english well.

thanks regards....
Princy
Top achievements
Rank 2
 answered on 22 Dec 2011
8 answers
549 views

Hi.

I have a grid with the nextPrevAndNumeric pager mode.
when i click on one of the page numbers - it works fine.
but when i click on the "prev/next/first/last page" nothing happens, no event is fired.

i went over the forums but didn't find an answer.

thanks in advance

Shinu
Top achievements
Rank 2
 answered on 22 Dec 2011
2 answers
296 views
Hi,
I have problem with dynamic tool tip. It is inside a repeater and the tool tip is assigned to <asp:linkbutton>. tooltip targetControld is assigned to linkbutton but dynamically linkbutton id is changing because same linkbutton is used three times in same repeater. Based on the linkbutton id i need to change caption of tool tip text. Can u please suggest.

<asp:Repeater ID="WidgetList" runat="server" EnableViewState="true"
                                                    onitemcommand="WidgetList_ItemCommand">                                
                                                    <ItemTemplate>                            
                                                        <table width="100%">
                                                            <tr>
                                                                <td height="50" background="../images/Arrowlarge.bmp" style="background-repeat: no-repeat">
                                                                    <table height="50px">
                                                                        <tr>
                                                                            <td height="50">
                                                                                <img src="../images/Folder.gif" alt="" style="height: 30px" width="30px" />
                                                                            </td>
                                                                            <td height="50">
                                                                                <asp:LinkButton ID="lnkText_towarehouse" OnClick="lnkText_towarehouse_Click" ValidationGroup='<%# Eval("TypeId") %>'
                                                                                    Text='<%# Eval("TextData") %>' runat="server" Font-Bold="true" Font-Size="Small" ></asp:LinkButton>
                                                                                <telerik:RadToolTip runat="server" ID="RadToolTip1" RelativeTo="Element" Width="390px" Text="Test"
                                                                                    Height="70px" IsClientID="true" EnableViewState="true" TargetControlID="lnkText_towarehouse"
                                                                                    Position="TopRight">                         
                                                                                </telerik:RadToolTip>
                                                                            </td>
                                                                        </tr>
                                                                    </table>
                                                                </td>
                                                            </tr>
                                                        </table>
                                                    </ItemTemplate>
                                                </asp:Repeater>

Regards,
Akki
Akki
Top achievements
Rank 1
 answered on 22 Dec 2011
1 answer
98 views
Hello everyone,
I use the Version=2010.1.415.35 of Telerik controls.

I want to export the data from a Grid to an excel but when the column data are like "00455500400400", I get wrong data in the excel, or I get the data as numbers.(see attached picture)
I found the e.Cell.Style("mso-number-format") = "\@" formatting approach, but I can use it only in the 2011 version.
I cannot add spaces, or text on the exported data. I want the original data to be formatted as text.

Could you please help me how to implement this? Below I attach the column definition:

<telerik:GridBoundColumn DataField="Κωδικός Προϊόντος" 
HeaderText="Κωδικός Προϊόντος"
DataFormatString="{0}"
DataType="System.String"
SortExpression="Κωδικός Προϊόντος"
UniqueName="Κωδικός Προϊόντος">
<HeaderStyle Width="155px"></HeaderStyle>
</telerik:GridBoundColumn>

Thank you in advance!
 Andreas
Shinu
Top achievements
Rank 2
 answered on 22 Dec 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?