Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
120 views
I have a dropdown list in a pager template. I am attempting to set the page index of a listview using the dropdownlist in the datapager to allow the customer to jump to a record using more meaningful text than a page number. The page size will always be 1.

MARKUP
<telerik:RadListView ID="RadListView1" runat="server" AllowPaging="True" DataSourceID="sqlActPlus" ItemPlaceholderID="ActionContainer" PageSize="1">
            <LayoutTemplate>
                <asp:PlaceHolder ID="ActionContainer" runat="server" />
                <telerik:RadDataPager ID="RadDataPager1" runat="server" PagedControlID="RadListView1" PageSize="1">
                    <Fields>
                        <telerik:RadDataPagerButtonField FieldType="FirstPrev" />
                        <telerik:RadDataPagerButtonField FieldType="Numeric" />
                        <telerik:RadDataPagerButtonField FieldType="NextLast" />
                        <telerik:RadDataPagerTemplatePageField>
                            <PagerTemplate>
                                <asp:DropDownList ID="drpActionList" DataSourceID="sqlActPlus" DataTextField="Action" DataValueField="Action" runat="server" AutoPostBack="true" OnSelectedIndexChanged="drpActionList_SelectedIndexChanged">
                                </asp:DropDownList>
                            </PagerTemplate>
                        </telerik:RadDataPagerTemplatePageField>
                        <telerik:RadDataPagerTemplatePageField>
                            <PagerTemplate>
                                <div style="float: right">
                                    <b>Action
                                        <asp:Label runat="server" ID="CurrentPageLabel" Text="<%# Container.Owner.StartRowIndex+1%>" />
                                        to
                                        <asp:Label runat="server" ID="TotalPagesLabel" Text="<%# IIF(Container.Owner.TotalRowCount > (Container.Owner.StartRowIndex+Container.Owner.PageSize), Container.Owner.StartRowIndex+Container.Owner.PageSize, Container.Owner.TotalRowCount) %>" />
                                        of
                                        <asp:Label runat="server" ID="TotalItemsLabel" Text="<%# Container.Owner.TotalRowCount%>" />
                                        <br />
                                    </b>
                                </div>
                            </PagerTemplate>
                        </telerik:RadDataPagerTemplatePageField>
                    </Fields>
                </telerik:RadDataPager>
            </LayoutTemplate>
            <ItemTemplate>
                <fieldset>
                    <legend>Action</legend>
                    <table class="FullWidthTable">
                        <tbody>
                            <tr>
                                <th>
                                    Action Number
                                </th>
                                <th>
                                    Target Date
                                </th>
                                <th>
                                    Type
                                </th>
                            </tr>
                            <tr>
                                <td class="ReadOnlyValue">
                                    <%# Eval("ActionNo")%> 
                                </td>
                                <td class="ReadOnlyValue">
                                    <%# Eval("TargetMast", "{0:d}")%> 
                                </td>
                                <td class="ReadOnlyValue">
                                    <%# Eval("Type")%> 
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </fieldset>
            </ItemTemplate>
        </telerik:RadListView>

VB
Protected Sub drpActionList_SelectedIndexChanged(ByVal sender As DropDownList, ByVal e As System.EventArgs)
    Dim dataPager As Telerik.Web.UI.RadDataPager = DirectCast(RadListView1.FindControl("RadDataPager1"), Telerik.Web.UI.RadDataPager)
    If dataPager IsNot Nothing Then
         dataPager.PageIndex = sender.SelectedIndex ' I realize this line doesn't work
    End If
End Sub

The text value of the dropdown list is similar to "XXB123" and "IMO45687" and isn't always sequential. That is why I want to use the selected index.
Tsvetina
Telerik team
 answered on 19 Dec 2011
1 answer
78 views
I'm trying to follow your example but I don't know what I'm messing up. Essentially, I just want to be able to add images to a rotator so it displays something like a powerpoint. Here's my aspx


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<%@ 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">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="ScriptManager1" runat="server">
        </telerik:RadScriptManager>
        <telerik:RadRotator ID="RadRotator1" runat="server"
            RotatorType="SlideShowButtons" SlideShowAnimation-Type="Fade"
            Width="400" ItemWidth="400" Height="200" ItemHeight="200" CssClass="rotator"
            ScrollDirection="Left,Right">
            <ControlButtons LeftButtonID="prevButton" RightButtonID="nextButton" />
        </telerik:RadRotator>
    </div>
    </form>
</body>
</html>




And here's my c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;
using Telerik.Web.UI;
using System.Data;
using System.Collections;
 
public partial class _Default : System.Web.UI.Page
{
    MyFunctions obj = new MyFunctions();
    String webPath = System.Configuration.ConfigurationManager.AppSettings["websitePath"];
 
    protected void Page_Load(object sender, EventArgs e)
    {
 
 
        if (obj.convertPpt("myfile.pptx") == "true")
        {
 
 
            RadRotator rr = RadRotator1;
 
            rr.DataSource = CreateRotatorData();
            rr.DataBind();
            this.Controls.Add(rr);
             
        }//if obj.convertPpt
        else
        {
            Response.Write("We couldn't convert the power point");
        }//else
 
    }//page_load
 
    private ArrayList CreateRotatorData()
    {
        ArrayList al = new ArrayList();
        al.Add(ResolveUrl(webPath + "powerPointImages\\Slide1.jpg" ));
        al.Add(ResolveUrl(webPath + "powerPointImages\\Slide2.jpg" ));
 
        return al;
    }//CreateRotatorData
 
}// _Defautl
Kevin
Top achievements
Rank 2
 answered on 19 Dec 2011
2 answers
277 views
I have a RadGrid that I want to export to Excel, but above the exported grid I would like to add an addition HTML table.  After adding the table, the formatting of the export is unaligned.  I'm guessing I don't have my HTML tags correct.  All I want to accomplish is adding an HTML table above the exported grid and the table & the grid should fill 100% of the width of the screen.  Please help.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="mgrJS" runat="server">
        </telerik:RadScriptManager>
        <telerik:radajaxmanager ID="mgrAjax" runat="server">
        </telerik:radajaxmanager>       
        <telerik:RadGrid runat="server" ID="dg" Skin="WebBlue" AllowSorting="true" ></telerik:RadGrid>
        <asp:Button ID="btn" runat="server" text="Export" />
    </div>
    </form>
</body>
</html>
Imports System.Data
  
Partial Class _Default
    Inherits System.Web.UI.Page
  
    Private Function CreateDataTable() As DataTable
        Dim dt As New DataTable
        dt.Columns.Add("123", GetType(String))
        dt.Columns.Add("456", GetType(String))
        dt.Columns.Add("789", GetType(String))
        Dim r As DataRow = dt.NewRow
        r(0) = "abc"
        r(1) = "def"
        r(2) = "ghi"
        dt.Rows.Add(r)
        Return dt
    End Function
    
    Protected Sub dg_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles dg.NeedDataSource
        dg.DataSource = CreateDataTable()
    End Sub
  
    Protected Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn.Click
        Dim header As New StringBuilder("<table style='width:100%'><tr><td></td></tr><tr><td align='center'>The Title</td></tr><tr><td></td></tr><tr><td><table style='width:100%'>")
        dg.MasterTableView.Caption = header.ToString
        dg.ExportSettings.ExportOnlyData = True
        dg.ExportSettings.OpenInNewWindow = True
        dg.ExportSettings.IgnorePaging = True
        dg.MasterTableView.ExportToExcel()
        header.Append("</table></td></tr></table>")
    End Sub
End Class
Mira
Telerik team
 answered on 19 Dec 2011
1 answer
71 views
In the RadInputManager demo the first TextBoxSetting is as follows.

http://demos.telerik.com/aspnet-ajax/input/examples/radinputmanager/firstlook/defaultcs.aspx

<telerik:TextBoxSetting BehaviorID="TextBoxBehavior1" EmptyMessage="type here" Validation-IsRequired="true">
<TargetControls>
<telerik:TargetInput ControlID="Div1" />
</TargetControls>
</telerik:TextBoxSetting>

Is this a bug or does applying the TextBoxSetting to the Div do something I'm missing.

Thanks for helping me understand this demo.
Tsvetina
Telerik team
 answered on 19 Dec 2011
5 answers
104 views
hi,
im using a rad tree list in my projects. its programmed in an user control, but i didn't load it directly, i load it from address bar, some things like this:
~/ManageDefault.aspx?type=MMPC&GrID=0
when i use this way loading, the tree list dosen't work properly, when i load it directly from .aspx page, it works right, how i can fix it?
all of my controls are in user controls, and i call them from code behind like previous link.

thanks for your helpful replies...
Tsvetina
Telerik team
 answered on 19 Dec 2011
7 answers
326 views
Hi all,

I am trying to understand how I can do a multiple column filtering but I could not find an appropriate resource for that. Obviously I am missing it, but can you please help me finding a good one? After filtering in a column, how can I do a second filtering in another column so that it becomes a second derivative filtering over the first one?

Example:
Column1       Column2 
3                    A
4                    B
6                    C
5                    C
5                    D

After the 1st filtering; FilterItem: 5, Column1
Column1      Column2
5                   C
5                   D

2nd Filtering; FilterItem: C, Column2
Column1      Column2
5                   C

Thanks,
Ervin

Maria Ilieva
Telerik team
 answered on 19 Dec 2011
4 answers
271 views
I have a radmenu with sqldatasource.What I wanna is to get child items value and save to database.I used the code below,but this gets only value of parent items.How can I get the value of child items?
RadMenu getMenu = Master.FindControl("RadMenu1") as RadMenu;
getMenu.Items[i].Value;

Emre
Top achievements
Rank 1
 answered on 19 Dec 2011
3 answers
161 views
Hi,

Dimitar Terziev
Telerik team
 answered on 19 Dec 2011
1 answer
115 views
Hello,

I have a very simple page that has one <asp:label> and one radgrid.  Everything works great and I have no issues.  Now, I'm trying to add a LoadingPanel so the user gets some feedback while the grid is resorting/grouping/filtering, etc.  I added the following from the demo:

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="ClaimsGrid">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="ClaimsGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />

But now when I perform certain actions, I get the following error:

Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near '<td>30</td><td>504.0'.

Thanks,
Ben
Maria Ilieva
Telerik team
 answered on 19 Dec 2011
1 answer
84 views
Hi there,

I have two RadGrids  and two buttons.
In Ajax manager i reference RadGrids as they should be updated upon the event from the buttons.

When the page loads, it does not show my radgrids. When I click the buttons it renders data into the radgrids and they show up.

When I remove references between buttons and radgrids from the Ajax manager, everything works as expected at the page load, e.i. the radgrids are showing up with corresponding data.

Though I need Ajax updates to the radgrids on the button click.

I am sure that problem resolution must be very simple.

Below is my code:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="TestPrices.aspx.cs" Inherits="kukulika.Manufacturer.TestPrices" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <style type="text/css">
        .style1
        {
            width: 100%;
        }
        .style3
        {
            width: 313px;
        }
        .style4
        {
            width: 181px;
        }
        .style5
        {
            width: 255px;
        }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        <Scripts>
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js">
            </asp:ScriptReference>
            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js">
            </asp:ScriptReference>
        </Scripts>
    </telerik:RadScriptManager>
    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="5" Width="900px">
        <Tabs>
            <telerik:RadTab runat="server" Text="New Quotes" NavigateUrl="~/Manufacturer/ManufacturerMain.aspx">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Active Quotes" Enabled="False">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Confirmed Jobs" Enabled="False">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Profile" NavigateUrl="~/Manufacturer/Profile.aspx">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Pricing" NavigateUrl="~/Manufacturer/Prices.aspx">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Test Projects" NavigateUrl="~/Manufacturer/TestPrices.aspx"
                Selected="True">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Appliance Specs" Enabled="False">
            </telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <fieldset style="margin: 0px">
        <table class="style1">
            <tr>
                <td class="style5">
                    <telerik:RadComboBox ID="rcbServiceType" runat="server" DataSourceID="sqlServiceType"
                        DataTextField="ServiceType" DataValueField="ServiceTypeID" Label="Service:">
                    </telerik:RadComboBox>
                </td>
                <td class="style3" rowspan="3">
                    <telerik:RadGrid ID="rgStats" runat="server" AutoGenerateColumns="False" CellSpacing="0"
                        DataSourceID="sqlStats" GridLines="None" ShowHeader="False" Skin="Sitefinity">
                        <AlternatingItemStyle BackColor="White" />
                        <MasterTableView DataSourceID="sqlStats">
                            <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
                            <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
                            </RowIndicatorColumn>
                            <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
                            </ExpandCollapseColumn>
                            <Columns>
                                <telerik:GridBoundColumn DataField="Name" FilterControlAltText="Filter Name column"
                                    UniqueName="Name">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Value" FilterControlAltText="Filter Value column"
                                    UniqueName="Value">
                                </telerik:GridBoundColumn>
                            </Columns>
                            <EditFormSettings>
                                <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                                </EditColumn>
                            </EditFormSettings>
                            <AlternatingItemStyle BackColor="White" />
                        </MasterTableView>
                        <FilterMenu EnableImageSprites="False">
                            <WebServiceSettings>
                                <ODataSettings InitialContainerName="">
                                </ODataSettings>
                            </WebServiceSettings>
                        </FilterMenu>
                        <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
                            <WebServiceSettings>
                                <ODataSettings InitialContainerName="">
                                </ODataSettings>
                            </WebServiceSettings>
                        </HeaderContextMenu>
                    </telerik:RadGrid>
                </td>
                <td class="style4" style="text-align: right">
                    <telerik:RadButton ID="rbShowPrice" runat="server" OnClick="rbShowPrice_Click" Text="Show Price">
                    </telerik:RadButton>
                </td>
                <td style="text-align: right">
                    <telerik:RadButton ID="rbSaveProject" runat="server" OnClick="rbSaveProject_Click"
                        Text="Save Project">
                    </telerik:RadButton>
                </td>
            </tr>
            <tr>
                <td class="style5">
                    <telerik:RadNumericTextBox ID="rtbLinerFootage" runat="server" Culture="en-US" Label="Total liner footage:"
                        LabelWidth="" Value="20" Width="150px">
                    </telerik:RadNumericTextBox>
                    <telerik:RadComboBox ID="rcbUnits" runat="server" DataSourceID="sqlUnits" DataTextField="UnitName"
                        DataValueField="UnitID" Enabled="False" Skin="Sitefinity" Width="50px">
                    </telerik:RadComboBox>
                </td>
                <td class="style4">
                      
                </td>
                <td>
                      
                </td>
            </tr>
            <tr>
                <td class="style5">
                      
                </td>
                <td class="style4">
                      
                </td>
                <td>
                      
                </td>
            </tr>
        </table>
        <telerik:RadGrid ID="rgTestProject" runat="server" AutoGenerateColumns="False" OnItemDataBound="rgTestProject_ItemDataBound"
            CellSpacing="0" DataSourceID="sqlMaterialCategoriesCombined" GridLines="None">
            <MasterTableView DataSourceID="sqlMaterialCategoriesCombined">
                <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
                <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
                    <HeaderStyle Width="20px"></HeaderStyle>
                </RowIndicatorColumn>
                <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
                    <HeaderStyle Width="20px"></HeaderStyle>
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridBoundColumn DataField="MaterialCategoryID" DataType="System.Int32" FilterControlAltText="Filter MaterialCategoryID column"
                        HeaderText="MaterialCategoryID" ReadOnly="True" SortExpression="MaterialCategoryID"
                        UniqueName="MaterialCategoryID" Visible="False">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="ParentMaterialID" DataType="System.Int32" FilterControlAltText="Filter ParentMaterialID column"
                        HeaderText="ParentMaterialID" ReadOnly="True" SortExpression="ParentMaterialID"
                        UniqueName="ParentMaterialID" Visible="False">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="ID" FilterControlAltText="Filter ID column" HeaderText="ID"
                        UniqueName="ID">
                        <HeaderStyle Width="30px" />
                        <ItemStyle Width="30px" />
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="Category" FilterControlAltText="Filter Category column"
                        HeaderText="Category" ReadOnly="True" SortExpression="Category" UniqueName="Category">
                    </telerik:GridBoundColumn>
                    <telerik:GridTemplateColumn FilterControlAltText="Filter Item column" HeaderText="Item"
                        UniqueName="Item">
                        <ItemTemplate>
                            <telerik:RadComboBox ID="rcbItem" runat="server" DataTextField="MaterialName" DataValueField="MaterialID"
                                Width="300" Skin="Windows7" AllowCustomText="True" EmptyMessage="Please select an item from the list"
                                OnSelectedIndexChanged="rcbItem_SelectedIndexChanged">
                            </telerik:RadComboBox>
                        </ItemTemplate>
                        <HeaderStyle Width="300px" />
                        <ItemStyle Width="300px" />
                    </telerik:GridTemplateColumn>
                </Columns>
                <EditFormSettings>
                    <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                    </EditColumn>
                </EditFormSettings>
            </MasterTableView>
            <FilterMenu EnableImageSprites="False">
                <WebServiceSettings>
                    <ODataSettings InitialContainerName="">
                    </ODataSettings>
                </WebServiceSettings>
            </FilterMenu>
            <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
                <WebServiceSettings>
                    <ODataSettings InitialContainerName="">
                    </ODataSettings>
                </WebServiceSettings>
            </HeaderContextMenu>
        </telerik:RadGrid>
    </fieldset>
    <asp:SqlDataSource ID="sqlMaterialCategoriesCombined" runat="server" ConnectionString="<%$ ConnectionStrings:KPortal %>"
        SelectCommand="Exec GetMaterialCategoriesCombined @ServiceTypeID=@ServiceTypeID">
        <SelectParameters>
            <asp:ControlParameter ControlID="rcbServiceType" Name="ServiceTypeID" PropertyName="SelectedValue" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="sqlServiceType" runat="server" ConnectionString="<%$ ConnectionStrings:KPortal %>"
        OnSelecting="sqlServiceType_Selecting" SelectCommand="SELECT ServiceType.ServiceTypeID, ServiceType.ServiceType FROM [User] INNER JOIN ManufacturerUser ON [User].UserID = ManufacturerUser.UserID INNER JOIN ManufacturerServiceType INNER JOIN ServiceType ON ManufacturerServiceType.ServiceTypeID = ServiceType.ServiceTypeID ON ManufacturerUser.ManufacturerID = ManufacturerServiceType.ManufacturerID WHERE (ServiceType.ServiceReferenceData = 1) AND (ServiceType.ServiceTypeActive = 1) AND ([User].Login = @LoginID) AND (ManufacturerServiceType.ServiceStatus = 'A')">
        <SelectParameters>
            <asp:Parameter Name="LoginID" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="sqlUnits" runat="server" ConnectionString="<%$ ConnectionStrings:KPortal %>"
        OnSelecting="sqlUnits_Selecting" SelectCommand="SELECT Units.UnitID, Units.UnitName FROM ManufacturerUser INNER JOIN Manufacturer ON ManufacturerUser.ManufacturerID = Manufacturer.ManufacturerID INNER JOIN [User] ON ManufacturerUser.UserID = [User].UserID INNER JOIN Units ON Manufacturer.UnitSystem = Units.UnitSystem WHERE (Units.UnitType = 'length') AND ([User].Login = @LoginID) AND (Units.MajorUnit = 1)">
        <SelectParameters>
            <asp:Parameter Name="LoginID" />
        </SelectParameters>
    </asp:SqlDataSource>
    <telerik:RadNotification ID="rnChangesSaved" runat="server" Width="300" Height="100"
        Animation="Fade" EnableRoundedCorners="true" EnableShadow="true" Title="Test Project"
        Text="Your questionary answers have been saved" Style="z-index: 35000" Position="Center">
    </telerik:RadNotification>
    <asp:SqlDataSource ID="sqlStats" runat="server" ConnectionString="<%$ ConnectionStrings:KPortal %>"
        OnSelecting="sqlStats_Selecting" SelectCommand="Exec GetTestProjectPriceStats @ServiceTypeID = @ServiceTypeID , @LoginID = @LoginID">
        <SelectParameters>
            <asp:ControlParameter ControlID="rcbServiceType" Name="ServiceTypeID" PropertyName="SelectedValue" />
            <asp:Parameter Name="LoginID" />
        </SelectParameters>
    </asp:SqlDataSource>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">
    </telerik:RadAjaxLoadingPanel>
    <telerik:RadAjaxManager runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="rbShowPrice">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgStats" />
                    <telerik:AjaxUpdatedControl ControlID="rnChangesSaved" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="rbSaveProject">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="rgStats" />
                    <telerik:AjaxUpdatedControl ControlID="rnChangesSaved" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
</asp:Content>


The code behind:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Xml;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
 
namespace kukulika.Manufacturer
{
    public partial class TestPrices : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
        }
 
        protected void sqlServiceType_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {
            e.Command.Parameters[0].Value = Page.User.Identity.Name.ToString().ToLower();
        }
 
 
        protected void rgTestProject_ItemDataBound(object sender, GridItemEventArgs e)
        {
 
            if (e.Item is GridDataItem)
            {
                GridDataItem item = e.Item as GridDataItem;
                RadComboBox rcbItem = item.FindControl("rcbItem") as RadComboBox;
                string MaterialCategoryID = item["MaterialCategoryID"].Text.ToString();
                string ParentMaterialID = item["ParentMaterialID"].Text.ToString();
                rcbItem.EmptyMessage = "Please select " + item["Category"].Text.ToString();
                SqlDataSource sqlDS = new SqlDataSource();
                sqlDS.ConnectionString = ConfigurationManager.ConnectionStrings["KPortal"].ConnectionString;
                sqlDS.SelectCommand = "Exec GetManufacturerTestProjectItem @MaterialCategoryID = "+ MaterialCategoryID +
                 ",@ParentMaterialID="+ParentMaterialID+",@LoginID='"
                    + Page.User.Identity.Name.ToString().ToLower() + "'";
 
                rcbItem.DataSource = sqlDS;
 
                SqlConnection conn = new SqlConnection(sqlDS.ConnectionString);
                SqlCommand command = new SqlCommand(sqlDS.SelectCommand, conn);
                conn.Open();
 
                try
                {
                    SqlDataReader Questionary = command.ExecuteReader();
                    while (Questionary.Read())
                    {
                        if (Questionary["SelectedItem"].ToString() != "0")
                        {
                            rcbItem.SelectedValue = Questionary["SelectedItem"].ToString();
                        }
                    }
                }
                finally
                {
                    conn.Close();
                }
                rcbItem.DataBind();
            }
        }
 
        protected void rcbItem_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
 
        }
        protected void SaveProject()
        {
 
 
            //Validate Selection
            bool res = true;
            foreach (GridDataItem item in rgTestProject.Items)
            {
               RadComboBox rcbItem = item.FindControl("rcbItem") as RadComboBox;
               if (rcbItem.SelectedValue.ToString() == "")
                {
                    item["Category"].ForeColor = System.Drawing.Color.Red;
                    res = false;
                }
                else
                {
                    item["Category"].ControlStyle.Reset();
                }
            }
 
            if (res == false)
            {
 
                rnChangesSaved.Text = "Please select items for your test project";
                rnChangesSaved.Show();
                return;
            }
 
            //Save Project Details
            var sb = new StringBuilder();
            XmlWriter xw = XmlWriter.Create(sb);
            xw.WriteStartElement("ManufacturerTestProject");
            xw.WriteAttributeString("ServiceTypeID",rcbServiceType.SelectedValue.ToString());
            xw.WriteAttributeString("DerrivedMeasurement", rtbLinerFootage.Text.ToString());
            xw.WriteAttributeString("UnitID", rcbUnits.SelectedValue.ToString());
            xw.WriteStartElement("Materials");
            
            if (rgTestProject.Items.Count==0)
                return;
 
            foreach (GridDataItem item in rgTestProject.Items)
            {
                  RadComboBox rcbItem = item.FindControl("rcbItem") as RadComboBox;
                  xw.WriteStartElement("Material");
                  xw.WriteAttributeString("MaterialID", rcbItem.SelectedValue.ToString());
                  xw.WriteEndElement();
                 
            }
            xw.WriteEndElement();
            xw.WriteEndDocument();
            xw.Flush();
            xw.Close();
            string FinalXML = sb.ToString().Substring(sb.ToString().IndexOf(">") + 1);
 
            string ConnString = ConfigurationManager.ConnectionStrings["KPortal"].ConnectionString;
            SqlConnection conn = new SqlConnection(ConnString);
            SqlCommand command = new SqlCommand("Exec SaveManufacturerTestProject @ProjectDetails = @ProjectDetails, @LoginID = @LoginID", conn);
            command.Parameters.AddWithValue("ProjectDetails", FinalXML);
            command.Parameters.AddWithValue("LoginID", Page.User.Identity.Name.ToString().ToLower());
            conn.Open();
            try
            {
                command.ExecuteNonQuery();
            }
            finally
            {
                conn.Close();
            }
 
        }
 
        protected void rbSaveProject_Click(object sender, EventArgs e)
        {
            SaveProject();
            rnChangesSaved.Text = "Your test project have been saved";
            rnChangesSaved.Show();
 
        }
 
        protected void sqlUnits_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {
            e.Command.Parameters[0].Value = Page.User.Identity.Name.ToString().ToLower();
        }
 
        protected void rbShowPrice_Click(object sender, EventArgs e)
        {
            SaveProject();
            rgStats.Rebind();
        }
 
        protected void sqlStats_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {
            e.Command.Parameters[1].Value = Page.User.Identity.Name.ToString().ToLower();
        }
 
    }
}

Maria Ilieva
Telerik team
 answered on 19 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?