Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
52 views
hey there,

I have a grid with bound columns and template columns.The default filtering that i've applied is working for gridBoundColumns but not for gridTemplateColumns.What should i do??...

thanks
Amit
Shinu
Top achievements
Rank 2
 answered on 16 Mar 2011
1 answer
1.7K+ views
Hi,

In my radgrid i used Radnumerictextbox. In this numeric textbox i need to display 4 decimal points like 0.0000 or 99.9999.
but if value is 99.9999, it show's like 9.9999. I need like "99.9999". (Two numbers before decimal point).

For this i taken property DecimalDigits="4".

<telerik:GridTemplateColumn UniqueName="perComplete" HeaderText="Percent Complete" AllowFiltering="false">
    <ItemTemplate>
       <telerik:RadNumericTextBox ID="pct" runat="server" Text='<%#Eval("pct") %>' MinValue="0" MaxValue="100" Width="50px">
          <NumberFormat AllowRounding="true" DecimalDigits="4" />  
       </telerik:RadNumericTextBox>
   </ItemTemplate>
</telerik:GridTemplateColumn>


Thanks,
Nagendra.
Martin
Telerik team
 answered on 16 Mar 2011
1 answer
59 views
Please see the attached file
I have created a chart
But I am unable to group the items.
Also I need to put a separator white line in between some items in chart series.
please help...
Also
I need to align the text of the label in the items of chart series to right of graph.
pls help
thanks in advance
Evgenia
Telerik team
 answered on 16 Mar 2011
1 answer
182 views
 Hi,

We used nested table in our radgrid to have a complex table structure ( Please see code below).

                   <telerik:GridTemplateColumn UniqueName="NoOfProviderColumnTemplate" HeaderStyle-Width="25%">
                        <HeaderStyle CssClass="rgHeader hasNestedTable" />
                        <HeaderTemplate>
                            <table class="nestedHeaderTable" cellspacing="0" datatable="0">
                                <tr>
                                    <td colspan="4" align="center"><b># of Providers</b></td>
                                </tr>
                                <tr>
                                    <td width="50%" align="center"><b>Required</b></td>
                                    <td width="50%" align="center"><b>Submitted</b></td>                                   
                                </tr>
                            </table>
                        </HeaderTemplate>
                        <ItemStyle CssClass="hasNestedTable" />
                        <ItemTemplate>
                            <table class="nestedItemTable" cellspacing="0">
                                <tr>
                                    <td width="50%" align="center"><%# DataBinder.Eval(Container.DataItem, "ProvidersRequired")%></td>
                                    <td width="50%" align="center"><%# DataBinder.Eval(Container.DataItem, "ProvidersActual")%></td>
                                </tr>
                            </table>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>

In source code, radgrid renders code below:
<th scope="col" class="rgHeader hasNestedTable" style="font-weight: bold; text-align: center;">
                            <table class="nestedHeaderTable" datatable="0" cellspacing="0">
                                <tbody><tr>
                                    <td colspan="4" align="center"><b># of Providers</b></td>
                                </tr>
                                <tr>
                                    <td align="center" width="25%"><b>Required</b></td>
                                    <td align="center" width="25%"><b>Submitted</b></td>
                                     </tr>
                            </tbody></table>
</th>

A complex data table as it contains more than one logical level of headings. Currently the scoping technique (e.g. <th scope="col">) is being used to markup this data table when a more complex technique is required to properly associated each data cell to the appropriate headers. The way that the table is currently coded makes it extremely difficult for screen reader users to interpret its contents.

Our 508 team suggestions is list below:
1. Remove all scoping markup (e.g. remove all instances of <th scope="col">)
 2. Code the table using the headers and id attributes. For more information on how to implement this technique, refer to the following resources:
 WebAIM article:
 WCAG 2.0 Technique:
 
 3. Specify both column and row headers for the table.

Coz the th col scope is added by radgrid and there is no place for us to specify headers and id attributes, so I just want to ask if there is any solution to address this issue?

Thanks,
Wei

Maria Ilieva
Telerik team
 answered on 16 Mar 2011
2 answers
133 views
//calling this function inside an event
    public void loadGrid()
    {
      //looping for creating 31 columns
            for (int I_ColumnCount = 1; I_ColumnCount <= 31; I_ColumnCount++)
            {
                  
                GridTemplateColumn gridtemplatecolumn = new GridTemplateColumn();
                gridtemplatecolumn.ItemTemplate = new MyTemplate(Convert.ToString(I_ColumnCount));
                gridtemplatecolumn.HeaderText = Convert.ToString(I_ColumnCount);
                this.rg_Attendence.MasterTableView.Columns.Add(gridtemplatecolumn);
                ViewState["grid_DayCount"]=Convert.ToString(I_ColumnCount);
            }
    }
     
    public class MyTemplate : ITemplate
    {
        protected RadComboBox lblControl;
        public string colname;
        public MyTemplate(string cName)
        {
            colname = cName;
              
        }
        public void InstantiateIn(System.Web.UI.Control container)
        {
              
            lblControl = new RadComboBox();
            lblControl.ID = colname;
            container.Controls.Add(lblControl);
        }
    }
  
    //this function contains data which is retrieved from database and need to bind to rad grid and comboboxes(which are created inside rad grid dynamically)
    protected void loadEmployees()
    {
            RadComboBox lblControl = new RadComboBox();
             
            DataTable DT_Employee = new DataTable();
            DT_Employee = BLL.get_Attendance(_obj_Smhr_Attendance);
            if (DT_Employee.Rows.Count == 0)
            {
                 
                    rg_Attendence.Visible = true;
                    rg_Attendence.DataSource = DT_Employee;
                    rg_Attendence.DataBind();
                    for (i = 0; i <= rg_Attendence.Items.Count - 1; i++)
                    {
                        //here i am trying to bind data to comboboxes which are created dynamically inside rad grid
                        rcmbList = rg_Attendence.Items[i].FindControl("lblControl") as RadComboBox;
                        if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "0")
                            rcmbList.SelectedIndex = rcmbList.FindItemIndexByValue(Convert.ToString("P"));
                        else if (Convert.ToString(Convert.ToString(DT_Employee.Rows[i][3])) == "1")
                            rcmbList.SelectedIndex = rcmbList.FindItemIndexByValue(Convert.ToString("L"));
                         
                    }
                }
                else
                {
                    rg_Attendence.Visible = false;
                    btn_Save.Visible = false;
                    btn_Finalize.Visible = false;
                }
            }
            else
            {
                _obj_Smhr_Attendance.OPERATION = operation.Check;
                _obj_Smhr_Attendance.ATTENDANCE_MODE = true;
                DT_Employee = BLL.get_Attendance(_obj_Smhr_Attendance);
                rg_Attendence.Visible = true;
                rg_Attendence.DataSource = DT_Employee;
                rg_Attendence.DataBind();
                for (i = 0; i <= rg_Attendence.Items.Count - 1; i++)
                {
                    //here i am trying to bind data to comboboxes which are created dynamically inside rad grid
                    lblControl = rg_Attendence.Items[i].FindControl("colname") as RadComboBox;
                    if ((Convert.ToString(Convert.ToString(DT_Employee.Rows[i][2]))).Trim() == "P")
                    {
                        lblControl.SelectedIndex = lblControl.FindItemIndexByValue(Convert.ToString("P"));
                    }
                    else if ((Convert.ToString(Convert.ToString(DT_Employee.Rows[i][2]))).Trim() == "L")
                    {
                        lblControl.SelectedIndex = lblControl.FindItemIndexByValue(Convert.ToString("L"));
                    }
                     
                      
                }
                 
            }
             
    }
}
on the index change of rad combobox arad grid must appear with dynamically created columns containing rad comboboxes and those comboboxes are to be binded with some data from database.the columns with comboboxes are coming but i am unable to bind with data. i am doing this programmatically using ITEMPLATE interface by inheriting in a class and calling InstantiateIn method.
help by sending or posting a code snippet.
thanks in advance
Anirud
anirud
Top achievements
Rank 1
 answered on 16 Mar 2011
6 answers
301 views
Hi,

Are multiple masks possible on a masked textbox?

I am taking a credit card as an input and only want to allow numbers and format them with the dash, but I also want to mask the first 3 sets of digits

Final output should look like: XXXX-XXXX-XXXX-1234

This gives me the numbers:

<0..9><0..9><0..9><0..9>-<0..9><0..9><0..9><0..9>-<0..9><0..9><0..9><0..9>-<0..9><0..9><0..9><0..9>

This gives me the mask:

XXXX-XXXX-XXXX-<0..9><0..9><0..9><0..9>

However, can I use a mask to restrict the first 3 sets as numbers or must I use a custom javascript validation routine for this?

Realistically this control should have a mask AND input restriction capability.

Thanks!

Paul





Veli
Telerik team
 answered on 16 Mar 2011
2 answers
177 views
According to http://www.telerik.com/help/aspnet-ajax/tab_radmultipagescrollbars.html
In next example the entire page is scrolled as a whole. How to make that only the content of page is scrolled? (like in picture. 3 from yours documentation)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="WebDesigner.WebForm4" %>
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <style type="text/css">
        html, body, form
        {
            height: 100%;
            margin: 0;
            padding: 0;
        }
    </style>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="ScriptManager" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadTabStrip ID="exceptionTabStrip" runat="server" SelectedIndex="0" MultiPageID="exceptionMultiPage">
        <Tabs>
            <telerik:RadTab runat="server" Text="short" Selected="True">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="long">
            </telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <telerik:RadMultiPage ID="exceptionMultiPage" runat="server"
        ScrollBars="Auto" SelectedIndex="0">
        <telerik:RadPageView ID="ShortException" runat="server" Selected="True">
            <div>
                ShortException
            </div>
        </telerik:RadPageView>
        <telerik:RadPageView ID="DetailedException" runat="server">
            <div>
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
                DetailedException DetailedException DetailedException DetailedException
                <br />
            </div>
        </telerik:RadPageView>
    </telerik:RadMultiPage>
    </form>
</body>
</html>
alex lexx
Top achievements
Rank 1
 answered on 16 Mar 2011
2 answers
191 views
Hi,

I've radgrid with four GridDateTimeColumn. I've to do some client side validation based upon selected values of those column while InPlaceEdit UPDATE command.

For template column i've use "row.FindElement(....)" it works well. but  cant able to do for gridDateTimeColumn

Please help ASAP.


regards,

Baaje.
balaji
Top achievements
Rank 1
 answered on 16 Mar 2011
1 answer
97 views
Hi,


I have 2 RadDatePickers on my page.The issue I am facing is that if the value of the 1st picker is changed,the value in the 2nd picker is set to "12/31/1998" instead of the selected value .I dont understand where this value has come from.I have this issue in Firefox.FYI: I am using the latest version of telerik dll.PFA the screenshot of the issue

Please help.

Thanks,
ritu
Shinu
Top achievements
Rank 2
 answered on 16 Mar 2011
1 answer
119 views
Hi,

I have a radgrid with that has a edittemplate with a cascading dropdown list. first dropdown allow to select project type then 2nd dropdown will bind the datasource accordingly. I have to click "Insert" twice to fire the insercommand.

                <telerik:RadGrid ID="rdGEDetails" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" GridLines="None"
                    Height="383px" OnDeleteCommand="rdGEDetails_DeleteCommand" OnInsertCommand="rdGEDetails_InsertCommand"
                    OnItemDataBound="rdGEDetails_ItemDataBound" OnNeedDataSource="rdGEDetails_NeedDataSource" onUpdateCommand="rdGEDetails_UpdateCommand" Skin="Web20"
                    Width="642px" OnItemCreated="rdGEDetails_ItemCreated">
                    <ValidationSettings ValidationGroup="FormValidation" />
                    <MasterTableView AutoGenerateColumns="False" GridLines="Both" CommandItemDisplay="Top" CurrentResetPageIndexAction="SetPageIndexToLast"
                        DataKeyNames="GeneralExpenseDetailID" EditMode="PopUp" InsertItemPageIndexAction="ShowItemOnFirstPage" >
                        <Columns>
                            <telerik:GridEditCommandColumn>
                            </telerik:GridEditCommandColumn>
                            <telerik:GridButtonColumn CommandName="Delete" ConfirmText="Do you wish to delete this record?"
                                Text="Delete" UniqueName="column1">
                            </telerik:GridButtonColumn>
                            <telerik:GridBoundColumn DataField="GeneralExpenseDetailID" DataType="System.Guid" HeaderText="GeneralExpenseDetailID"
                                ReadOnly="True" SortExpression="GeneralExpenseDetailID" UniqueName="GeneralExpenseDetailID" Visible="False">
                            </telerik:GridBoundColumn>
                            <telerik:GridTemplateColumn DataField="GeneralDate" DataType="System.DateTime" HeaderText="Doc. Date" SortExpression="GeneralDate"
                                UniqueName="GeneralDate">
                                <EditItemTemplate>
                              <telerik:RadDatePicker ID="radDocdate"  MinDate="2006/1/1" runat="server" DbSelectedDate='<%# Bind("GeneralDate") %>'>
                                          <DateInput DateFormat="dd/MM/yyyy"></DateInput>
                            </telerik:RadDatePicker>                                   
                                    <asp:RequiredFieldValidator ID="rfvDocdate" runat="server" ControlToValidate="radDocdate"
                                        ErrorMessage="*" ValidationGroup="FormValidation"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDocdate" runat="server" Text='<%# Eval("GeneralDate", "{0:dd/MM/yyyy}") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="DocNo" HeaderText="Doc. No" SortExpression="DocNo"
                                UniqueName="DocNo">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtDocno" runat="server" MaxLength="100" Text='<%# Bind("DocNo") %>'></asp:TextBox>                                   
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDocno" runat="server" Text='<%# Eval("DocNo") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                          
                            <telerik:GridTemplateColumn DataField="Category" HeaderText="Category"
                                SortExpression="Category" UniqueName="Category">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboCategory" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvCategory" runat="server" ControlToValidate="rcboCategory"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblCategory" runat="server" Text='<%# Eval("Category") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                      
                            <telerik:GridTemplateColumn DataField="Description" HeaderText="Description" SortExpression="Description"
                                UniqueName="Description">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtDescription" runat="server" MaxLength="150" Width="350px" Text='<%# Bind("Description") %>'></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="rfvDescription" runat="server" ControlToValidate="txtDescription"
                                        ErrorMessage="*" ValidationGroup="FormValidation"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblDescription" runat="server" Text='<%# Eval("Description") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Currency" HeaderText="Currency"
                                SortExpression="Currency" UniqueName="Currency">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboCurrency" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvCurrency" runat="server" ControlToValidate="rcboCurrency"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblCurrency" runat="server" Text='<%# Eval("Currency") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ExRate" HeaderText="Ex Rate" DataType="System.Decimal" SortExpression="ExRate" UniqueName="ExRate">
                                <EditItemTemplate>
                                    <telerik:RadNumericTextBox ID="txtExRate" runat="server" DbValue='<%# Eval("ExRate") %>' >
                                                  <numberformat DecimalDigits="5" />                                       
                                    </telerik:RadNumericTextBox>
                                    <asp:RequiredFieldValidator ID="rfvExRate" runat="server" ControlToValidate="txtExRate"
                                        ErrorMessage="*" ValidationGroup="FormValidation" ></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblExRate" runat="server" Text='<%# Eval("ExRate") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Amount" HeaderText="Amount" DataType="System.Decimal" SortExpression="Amount" UniqueName="Amount">
                                <EditItemTemplate>
                                    <telerik:RadNumericTextBox ID="txtAmount" runat="server" DbValue='<%# Eval("Amount") %>'>
                                                  <numberformat DecimalDigits="2" />                                       
                                    </telerik:RadNumericTextBox>
                                    <asp:RequiredFieldValidator ID="rfvAmount" runat="server" ControlToValidate="txtAmount"
                                        ErrorMessage="*" ValidationGroup="FormValidation" ></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblAmount" runat="server" Text='<%# Eval("Amount","{0:0.00}") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <%--<telerik:GridNumericColumn DataField="Amount" DataType="System.Decimal" HeaderText="Amount" HeaderStyle-HorizontalAlign="Right"
                        ItemStyle-HorizontalAlign="Right" ReadOnly="false" UniqueName="Amount" />--%>
                            <telerik:GridTemplateColumn DataField="AmountSGD" HeaderText="AmountSGD" SortExpression="AmountSGD" UniqueName="AmountSGD" DataType="System.Decimal" >                        
                               <ItemTemplate>
                                    <asp:Label ID="lblAmountSGD" runat="server" Text='<%# Eval("AmountSGD") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="Remarks" HeaderText="Comments" SortExpression="Remarks" UniqueName="Remarks">
                                <EditItemTemplate>
                                    <asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine"  MaxLength="150" Width="350px" Text='<%# Bind("Remarks") %>'></asp:TextBox>  
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblComments" runat="server" Text='<%# Eval("Remarks") %>'></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ChargeType" HeaderText="Charge Type" SortExpression="ChargeType" UniqueName="ChargeType">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboChargeType" runat="server">
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvChargeType" runat="server" ControlToValidate="rcboChargeType"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblChargeType" runat="server" Text='<%# Eval("ChargeType") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn DataField="ChargeCode" HeaderText="Project No." SortExpression="ChargeCode" UniqueName="ChargeCode">
                                <EditItemTemplate>
                                    <telerik:RadComboBox ID="rcboChargeCode" runat="server" Filter="Contains" EnableLoadOnDemand="true" Width="350px" >
                                        <CollapseAnimation Duration="200" Type="OutQuint" />
                                    </telerik:RadComboBox>
                                    <asp:RequiredFieldValidator ID="rfvChargeCode" runat="server" ControlToValidate="rcboChargeCode"
                                        ErrorMessage="*" ValidationGroup="FormValidation" InitialValue="-- SELECT --"></asp:RequiredFieldValidator>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="lblChargeCode" runat="server" Text='<%# Eval("ChargeCode") %>'
                                        Width="113px"></asp:Label>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>                          
                             
                        </Columns>
                        <EditFormSettings>
                            <PopUpSettings Width="500px" />
                            <EditColumn UniqueName="EditCommandColumn1">                           
                            </EditColumn>
                        </EditFormSettings>
                    </MasterTableView>
                    <GroupingSettings CaseSensitive="False" />
                </telerik:RadGrid></td>

    <telerik:RadScriptManager ID="RadScriptManager" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server">
    </telerik:RadStyleSheetManager>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="Validation Summary"
                    Height="1px" ShowMessageBox="True" ShowSummary="False" Width="196px" />
    <telerik:RadAjaxManager ID="RadAjaxManager" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="rdGEDetails">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rdGEDetails" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="PanelAT">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="PanelAT" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>    
    </telerik:RadAjaxManager>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using eClaims.DAL;
using eClaims.DAL.SqlClient;
using eClaims.Entities;
using eClaims.Services;
using Telerik.Web.UI;
using e_Claims;
 
namespace eClaims.Forms.GeneralExpense
{
    
    public partial class GECForm : System.Web.UI.Page
    {
        private static string _GECid;
         
        protected GeneralExpenseClaimService ser_GEC = new GeneralExpenseClaimService();
        protected GeneralExpenseClaimDetailService ser_GECD = new GeneralExpenseClaimDetailService();
        protected GeneralExpenseClaimDetail ent_GECD = new GeneralExpenseClaimDetail();
        protected ExcRateService ser_ExcRate = new ExcRateService();
        protected ExcRateQuery qry_ExcRate = new ExcRateQuery();
        private static TList<GeneralExpenseClaimDetail> list_GECD = new TList<GeneralExpenseClaimDetail>();
 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                //_GECid=Request.QueryString.Get("GECid");
                setValue();
           
            }
        }
 
        private void setValue()
        {
            list_GECD = new TList<GeneralExpenseClaimDetail>();
            _GECid=null;
        }
 
        protected void rdGEDetails_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            GridEditableItem editedItem = e.Item as GridEditableItem;
            string key = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["GeneralExpenseDetailID"].ToString();
            try
            {
                int index = list_GECD.FindIndex(
                    delegate(GeneralExpenseClaimDetail ent_GEC)
                    {
                        return ent_GEC.GeneralExpenseDetailID == new Guid(key);
                    });
 
                if (index >= 0)
                {                 
                    list_GECD.RemoveAt(index);
                }
                else
                {
                    this.setMessage("Failed to delete the claim.");
                }
            }
            catch (Exception ex)
            {
            }
        }
 
        protected void rdGEDetails_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
            Boolean insSuccess = true;
            decimal amountSGD;
            GridEditFormInsertItem insertedItem = (GridEditFormInsertItem)e.Item;
 
            if ((insertedItem.FindControl("rcboChargeCode") as RadComboBox).SelectedValue.Length == 0)
            {
                setMessage("Invalid project charge code");
                insSuccess = false;
            }          
  
 
            try
            {
                if (insSuccess)
                {
                    ent_GECD.GeneralExpenseDetailID = Guid.NewGuid();                   
                    ent_GECD.GeneralDate = (insertedItem.FindControl("radDocdate") as RadDatePicker).SelectedDate;
                    ent_GECD.DocNo = (insertedItem.FindControl("txtDocno") as TextBox).Text;
                    ent_GECD.Category = (insertedItem.FindControl("rcboCategory") as RadComboBox).SelectedValue;
                    ent_GECD.Description = (insertedItem.FindControl("txtDescription") as TextBox).Text;
                    ent_GECD.Currency = (insertedItem.FindControl("rcboCurrency") as RadComboBox).SelectedValue;
                    try
                    {ent_GECD.ExRate = Convert.ToDecimal((insertedItem.FindControl("txtExRate") as RadNumericTextBox).Text);}
                    catch{}
                    try
                    { ent_GECD.Amount = Convert.ToDecimal((insertedItem.FindControl("txtAmount") as RadNumericTextBox).Text); }
                   // { ent_GECD.Amount= Convert.ToDecimal((insertedItem["Amount"].Controls[0] as RadNumericTextBox).Text);}
                    catch { }
                    amountSGD = ent_GECD.Amount.Value * ent_GECD.ExRate.Value;
                    try
                    {ent_GECD.AmountSGD = Convert.ToDecimal(amountSGD.ToString("#.##"));}
                    catch{}
                    ent_GECD.Remarks = (insertedItem.FindControl("txtComments") as TextBox).Text;
                    ent_GECD.ChargeType = (insertedItem.FindControl("rcboChargeType") as RadComboBox).SelectedValue;
                    ent_GECD.ChargeCode = (insertedItem.FindControl("rcboChargeCode") as RadComboBox).SelectedValue;
 
                    list_GECD.Add(ent_GECD);
                    this.rdGEDetails.DataSource = list_GECD;
 
                }
                else
                { e.Canceled = true; }
            }
            catch (Exception ex)
            {
                e.Canceled = true;
                this.setMessage(ex.ToString());
            }
        }
 
        protected void rdGEDetails_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if ((e.Item is GridEditFormItem) && e.Item.IsInEditMode)
            {
                GridEditFormItem gridEditFormItem = (GridEditFormItem)e.Item;
 
                RadComboBox rcboCategory = gridEditFormItem["Category"].FindControl("rcboCategory") as RadComboBox;
                rcboCategory.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT * from ExpenseType where formname='GEC'");
                rcboCategory.DataTextField = "ExpDesc";
                rcboCategory.DataValueField = "ExpCode";
                rcboCategory.DataBind();
                rcboCategory.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboCategory.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "Category"));
 
                RadComboBox rcboCurrency = gridEditFormItem["Currency"].FindControl("rcboCurrency") as RadComboBox;
                rcboCurrency.DataSource = ser_ExcRate.Find(null, "Currency ASC");
                rcboCurrency.DataTextField = "Currency";
                rcboCurrency.DataValueField = "Currency";
                rcboCurrency.DataBind();
                rcboCurrency.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboCurrency.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "Currency"));
 
                RadComboBox rcboProjectType = gridEditFormItem["ChargeType"].FindControl("rcboChargeType") as RadComboBox;               
                rcboProjectType.Items.Insert(0, new RadComboBoxItem("-- SELECT --", "0"));
                rcboProjectType.Items.Insert(1, new RadComboBoxItem("Project No", "Project No"));
                rcboProjectType.Items.Insert(2, new RadComboBoxItem("Cost Center", "Cost Center"));
                rcboProjectType.Items.Insert(3, new RadComboBoxItem("Order", "Order"));
                rcboProjectType.Items.Insert(4, new RadComboBoxItem("Sales Order", "Sales Order"));
                rcboProjectType.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "ChargeType"));
          
                RadComboBox rcboChargeCode = gridEditFormItem["ChargeCode"].FindControl("rcboChargeCode") as RadComboBox;        
                if (rcboProjectType.SelectedValue == "Project No")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,pspnr+'      '+post1 as merge FROM Project where s_sperr <> 'x' or s_sperr=''");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "pspnr";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Cost Center")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT * ,kostl+'      '+ktext_en as merge  FROM CostCenter where kokrs='2610'");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "kostl";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Order")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,aufnr+'      '+ktext as merge FROM [Order] where s_sperr <> 'x' or s_sperr='' order by aufnr");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "aufnr";
                    rcboChargeCode.DataBind();                       
                }
                else if (rcboProjectType.SelectedValue == "Sales Order")
                {
                    rcboChargeCode.ClearSelection();
                    rcboChargeCode.Text = "";
                    rcboChargeCode.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                                "SELECT *,quot+'      '+description as merge FROM SalesOrder where S_Lock <> 'x' or S_Lock='' ");
                    rcboChargeCode.DataTextField = "merge";
                    rcboChargeCode.DataValueField = "quot";
                    rcboChargeCode.DataBind();                       
                }
                else
                {
                    //rcboChargeCode.DataSource = null;
                    //rcboChargeCode.DataBind();
                }
                rcboChargeCode.SelectedValue = CommonValidator.comboSelectedValue(DataBinder.Eval(e.Item.DataItem, "ChargeCode"));
                }
            }
 
        protected void btnSave_Click(object sender, EventArgs e)
        {  
             
            string sqn=CommonFunctions.GetSeqNo(ConstantResource.ClaimType.CTGeneralExpenseClaim);   
        }
        protected void rdGEDetails_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            this.rdGEDetails.DataSource = list_GECD;
        }
 
        protected void rdGEDetails_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
        {
 
        }
        protected void setMessage(string message)
        {
            this.RadAjaxManager.Alert(message);
        }
 
        protected void rdGEDetails_ItemCreated(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                //the dropdown list will be the first control in the Controls collection of the corresponding cell
                RadComboBox list = (e.Item as GridEditableItem)["Currency"].FindControl("rcboCurrency") as RadComboBox;    
                //attach SelectedIndexChanged event for the combobox control
                list.AutoPostBack = true;
                list.CausesValidation = false;
                list.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(list_SelectedIndexChanged);
 
                //the dropdown list will be the first control in the Controls collection of the corresponding cell
                RadComboBox projlist = (e.Item as GridEditableItem)["ChargeType"].FindControl("rcboChargeType") as RadComboBox;
                //attach SelectedIndexChanged event for the combobox control
                projlist.AutoPostBack = true;
                projlist.CausesValidation = false;
                projlist.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(projlist_SelectedIndexChanged);
 
                 
            }
        }
        void list_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //first reference the edited grid item through the NamingContainer attribute
            GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;
 
            //the dropdown list will be the first control in the Controls collection of the corresponding cell
            //for custom edit forms (WebUserControl/FormTemplate) you can find the column editor with the FindControl(controlId) method
            RadNumericTextBox txtExchangeRate = editedItem["ExRate"].FindControl("txtExRate") as RadNumericTextBox;
 
            qry_ExcRate.AppendEquals(ExcRateColumn.Currency, (editedItem["Currency"].FindControl("rcboCurrency") as RadComboBox).SelectedValue);
            txtExchangeRate.Text = ser_ExcRate.Find(qry_ExcRate.GetParameters())[0].Rate.HasValue ? ser_ExcRate.Find(qry_ExcRate.GetParameters())[0].Rate.ToString() : "0";                
 
        }
 
        void projlist_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            //first reference the edited grid item through the NamingContainer attribute
            GridEditableItem editedItem = (sender as RadComboBox).NamingContainer as GridEditableItem;
            RadComboBox ddList = editedItem["ChargeCode"].FindControl("rcboChargeCode") as RadComboBox;
            //the dropdown list will be the first control in the Controls collection of the corresponding cell
            //for custom edit forms (WebUserControl/FormTemplate) you can find the column editor with the FindControl(controlId) method
            string projecttype = (editedItem["ChargeType"].FindControl("rcboChargeType") as RadComboBox).SelectedValue.ToString();
             
            if (projecttype == "Project No")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,pspnr+'      '+post1 as merge FROM Project where s_sperr <> 'x' or s_sperr=''");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "pspnr";
                ddList.DataBind();
            }
            else if (projecttype == "Cost Center")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT * ,kostl+'      '+ktext_en as merge  FROM CostCenter where kokrs='2610'");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "kostl";  
                ddList.DataBind();
            }
            else if (projecttype == "Order")
            {
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,aufnr+'      '+ktext as merge FROM [Order] where s_sperr <> 'x' or s_sperr='' order by aufnr");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "aufnr";  
                ddList.DataBind();
            }
            else if (projecttype == "Sales Order")
            {               
                ddList.ClearSelection();
                ddList.Text = "";
                ddList.DataSource = DataRepository.Provider.ExecuteDataSet(System.Data.CommandType.Text,
                                            "SELECT *,quot+'      '+description as merge FROM SalesOrder where S_Lock <> 'x' or S_Lock='' ");
                ddList.DataTextField = "merge";
                ddList.DataValueField = "quot";  
                ddList.DataBind();
            }
            else { }
        }
    }
}
Martin
Telerik team
 answered on 16 Mar 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Top achievements
Rank 1
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ivory
Top achievements
Rank 1
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
YF
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?