Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
317 views
Hi,
I have a RadGrid with a custom CommandItemTemplate. In my CommandItemTemplate I have a RadComboBox with the 'Autopostback' property enabled. I would like to change the grid's data according the RadComboBox selected value. But after the RadGrid rebind, the RadComboBox doesn't keep the 'SelectedValue' property.
If I don't call the RadGrid Rebind method it works fine! But the grid doesn't change so I have to rebind the grid.
What I need to do to keep the RadComboBox SelectedValue after a RadGrid rebind?
Here is a simple sample:

ascx:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" 
    GridLines="None" DataSourceID="XmlDataSource1">
    <MasterTableView  CommandItemDisplay="Top" EditMode="InPlace" 
        DataSourceID="XmlDataSource1">
        <RowIndicatorColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </RowIndicatorColumn>
        <ExpandCollapseColumn>
            <HeaderStyle Width="20px"></HeaderStyle>
        </ExpandCollapseColumn>
        <Columns>
            <telerik:GridEditCommandColumn>
            </telerik:GridEditCommandColumn>
            <telerik:GridBoundColumn DataField="CustomerId" HeaderText="CustomerId" 
                SortExpression="CustomerId" UniqueName="CustomerId">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="FirstName" HeaderText="FirstName" 
                SortExpression="FirstName" UniqueName="FirstName">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="LastName" HeaderText="LastName" 
                SortExpression="LastName" UniqueName="LastName">
            </telerik:GridBoundColumn>
        </Columns>
        <CommandItemTemplate>
            <asp:Label ID="Label1" runat="server" Text="Auto PostBack RadComboBox"></asp:Label>
            <telerik:RadComboBox ID="RadComboBox1" runat="server" AutoPostBack="True" 
                onselectedindexchanged="RadComboBox1_SelectedIndexChanged">
                <Items>
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1" Value="RadComboBoxItem1" />
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2" Value="RadComboBoxItem2" />
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3" Value="RadComboBoxItem3" />
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4" Value="RadComboBoxItem4" />
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem5" Value="RadComboBoxItem5" />
                </Items>
            </telerik:RadComboBox>
        </CommandItemTemplate>
    </MasterTableView>
</telerik:RadGrid>



Code behind:
protected void RadComboBox1_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
{
    this.RadGrid1.Rebind();
      
}


Princy
Top achievements
Rank 2
 answered on 14 Jul 2010
1 answer
69 views
Hi there,

When using the editor to create content I have noticed that whenever selecting to SetTableProperties or SetCellProperties for a table (thus opening the table wizard), upon the wizard closing the editor puts the table being edited into a paragraph (p tag). I don't wan't this to happen and I am not sure why it is happening - is there a reason for this and a way to stop it from doing so?

So basically:

 

  1. table = <table>...</table>
  2. Open table wizard and edit Cell/table
  3. Close wizard
  4. table = <p><table>...</table></p>

When I want it to be:

  1. table = <table>...</table>
  2. Open table wizard and edit Cell/table
  3. Close wizard
  4. table = <table>...</table>

Regards,
Scott

Dobromir
Telerik team
 answered on 14 Jul 2010
1 answer
72 views
hi all
when i use my radgrid in windows xp ( section 1 in attached image ) , my page shows correctly( full width page ).
but when i publish my project to windows 2003 server , my page shows like section 2 of attached image.
i use frameowrk 4.0 , 2010.1.527.40

plz hlp
tnx
Veli
Telerik team
 answered on 14 Jul 2010
1 answer
240 views

Goal:
Grid that displays data from Sql Database.  Included Binary Image field.
Ability have CRUD with this grid

Two tesing scenarios:
I have a standard form with standard upload and grid.  Upload works fine.  Grid popluates as expected.

I created a RadGrid with ItemTemplates to have my columns and Binary image.  Adding the data in MY standard form works, but trying to add data with the form template in RadGrid, the image to upload gives the sql cannot be converted to bytes (issue with binary conversion).  I also am getting some "undefined" error.  I am following the grid upload binary image sample on Telerik site.  I have included my files.

ASPX:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebRole1.WebForm3" %>
  
<%@ 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>
     <script type="text/javascript">
        // <![CDATA[
         //On insert and update buttons click temporarily disables ajax to perform upload actions
         function conditionalPostback(sender, eventArgs) {
             var theRegexp = new RegExp("\.UpdateButton$|\.PerformInsertButton$", "ig");
             if (eventArgs.get_eventTarget().match(theRegexp)) {
                 var upload = $find(window['UploadId']);
  
                 //AJAX is disabled only if file is selected for upload
                 if (upload.getFileInputs()[0].value != "") {
                     eventArgs.set_enableAjax(false);
                 }
             }
         }
  
         function validateRadUpload(source, e) {
             e.IsValid = false;
  
             var upload = $find(source.parentNode.getElementsByTagName('div')[0].id);
             var inputs = upload.getFileInputs();
             for (var i = 0; i < inputs.length; i++) {
                 //check for empty string or invalid extension
                 if (inputs[i].value != "" && upload.isExtensionValid(inputs[i].value)) {
                     e.IsValid = true;
                     break;
                 }
             }
         }
            // ]]>
        </script>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <div>
    <span>Standard Form to add data</span>
    <table>
    <tr><td>Venue Name:</td><td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td></tr>
    <tr><td>Event Name:</td><td><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td></tr>
    <tr><td>Event Website:</td><td><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td></tr>
    <%--<tr><td>Event Start Date:<telerik:RadDatePicker ID="RadDatePicker1" runat="server">
        </telerik:RadDatePicker></td></tr>
    <tr><td>Event End Date:
        <telerik:RadDatePicker ID="RadDatePicker2" runat="server">
        </telerik:RadDatePicker></td></tr>--%>
    <tr><td>Event Image Name:</td><td><asp:TextBox ID="TextBox4" runat="server"></asp:TextBox></td></tr>
    <tr><td>Image:</td><td><asp:FileUpload ID="FileUpload1" runat="server" /></td></tr>
    <tr><td><asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /></td><td>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>  <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label></td></tr>
    </table>
       <br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <br />
              <span>RadGrid to add Data</span>   
              <br />
              <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" ClientEvents-OnRequestStart="conditionalPostback">
    </telerik:RadAjaxPanel>
     <telerik:RadProgressManager ID="RadProgressManager1" runat="server" />
        <telerik:RadProgressArea ID="RadProgressArea1" runat="server" />
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" 
        OnItemDataBound="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated" 
        AllowAutomaticInserts="True" AllowAutomaticDeletes="True" AllowAutomaticUpdates="True" 
        AutoGenerateColumns="False" GridLines="None">
<MasterTableView datakeynames="idEvent"  CommandItemDisplay="Top"
        datasourceid="SqlDataSource1">
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
  
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
    <Columns>
        <telerik:GridBoundColumn DataField="idEvent" DataType="System.Int32" 
            HeaderText="idEvent" ReadOnly="True" SortExpression="idEvent" 
            UniqueName="idEvent" Visible="false">
        </telerik:GridBoundColumn>
  
         <telerik:GridTemplateColumn DataField="VenueName" 
            HeaderText="VenueName" SortExpression="VenueName" 
            UniqueName="VenueName">
              <ItemTemplate>
                            <asp:Label runat="server" ID="lblVenueName" Text='<%# Eval("VenueName") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadTextBox runat="server" Width="200px" ID="txbVenueName" Text='<%# Bind("VenueName") %>' />
<asp:RequiredFieldValidator ID="Requiredfieldvalidator1" runat="server" ControlToValidate="txbVenueName"
ErrorMessage="Please, enter a Venue name!" Display="Dynamic" SetFocusOnError="true" />
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="EventName" HeaderText="EventName" 
            SortExpression="EventName" UniqueName="EventName">
              <ItemTemplate>
                            <asp:Label runat="server" ID="lblEventName" Text='<%# Eval("EventName") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadTextBox runat="server" Width="200px" ID="txbEventName" Text='<%# Bind("EventName") %>' />
<asp:RequiredFieldValidator ID="Requiredfieldvalidator2" runat="server" ControlToValidate="txbEventName"
ErrorMessage="Please, enter a Event name!" Display="Dynamic" SetFocusOnError="true" />
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
          <telerik:GridTemplateColumn DataField="EventWebsite" HeaderText="EventWebsite" 
            SortExpression="EventWebsite" UniqueName="EventWebsite">
            <ItemTemplate>
                            <asp:Label runat="server" ID="lblEventWebsite" Text='<%# Eval("EventWebsite") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadTextBox runat="server" Width="200px" ID="txbEventWebsite" Text='<%# Bind("EventWebsite") %>' />
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="EventStartDate" DataType="System.DateTime" 
            HeaderText="EventStartDate" SortExpression="EventStartDate" 
            UniqueName="EventStartDate">
             <ItemTemplate>
                            <asp:Label runat="server" ID="lblEventStartDate" Text='<%# Eval("EventStartDate") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadDatePicker ID="txbEventStartDate" runat="server">
                            </telerik:RadDatePicker>
                            
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="EventEndDate" DataType="System.DateTime" 
            HeaderText="EventEndDate" SortExpression="EventEndDate" 
            UniqueName="EventEndDate">
             <ItemTemplate>
                            <asp:Label runat="server" ID="lblEventEndDate" Text='<%# Eval("EventEndDate") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadDatePicker ID="txbEventEventDate" runat="server">
                            </telerik:RadDatePicker>
                            
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="EventImg" HeaderText="Image Name" 
            SortExpression="EventImg" UniqueName="EventImg">
            <ItemTemplate>
                            <asp:Label runat="server" ID="lblEventImg" Text='<%# Eval("EventImg") %>' />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <telerik:RadTextBox runat="server" Width="200px" ID="txbEventImg" Text='<%# Bind("EventImg") %>' />
                        </EditItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridBinaryImageColumn DataField="EventImage" HeaderText="Image" UniqueName="Upload" ImageAlign="NotSet"
                        ImageHeight="80px" ImageWidth="80px" ResizeMode="Fit" DataAlternateTextField="EventImg"
                        DataAlternateTextFormatString="Image of {0}">
                        <HeaderStyle Width="10%" /> 
                    </telerik:GridBinaryImageColumn>
    </Columns>
  
<EditFormSettings>
<EditColumn UniqueName="EditCommandColumn1"></EditColumn>
</EditFormSettings>
</MasterTableView>
    </telerik:RadGrid>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:EKGDataConnectionString2 %>" 
            SelectCommand="SELECT * FROM [cus_Event]" 
            DeleteCommand="DELETE FROM [cus_Event] WHERE [idEvent] = @idEvent" 
            InsertCommand="INSERT INTO [cus_Event] ([VenueName], [EventName], [EventStartDate], [EventWebsite], [EventEndDate], [EventImg], [EventImage]) VALUES (@VenueName, @EventName, @EventStartDate, @EventWebsite, @EventEndDate, @EventImg, @EventImage)" 
            UpdateCommand="UPDATE [cus_Event] SET [VenueName] = @VenueName, [EventName] = @EventName, [EventStartDate] = @EventStartDate, [EventWebsite] = @EventWebsite, [EventEndDate] = @EventEndDate, [EventImg] = @EventImg, [EventImage] = @EventImage WHERE [idEvent] = @idEvent">
            <DeleteParameters>
                <asp:Parameter Name="idEvent" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="VenueName" Type="String" />
                <asp:Parameter Name="EventName" Type="String" />
                <asp:Parameter Name="EventStartDate" Type="DateTime" />
                <asp:Parameter Name="EventWebsite" Type="String" />
                <asp:Parameter Name="EventEndDate" Type="DateTime" />
                <asp:Parameter Name="EventImg" Type="String" />
                <asp:Parameter Name="EventImage" Type="Object" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="VenueName" Type="String" />
                <asp:Parameter Name="EventName" Type="String" />
                <asp:Parameter Name="EventStartDate" Type="DateTime" />
                <asp:Parameter Name="EventWebsite" Type="String" />
                <asp:Parameter Name="EventEndDate" Type="DateTime" />
                <asp:Parameter Name="EventImg" Type="String" />
                <asp:Parameter Name="EventImage" Type="Object" />
                <asp:Parameter Name="idEvent" Type="Int32" />
            </UpdateParameters>
        </asp:SqlDataSource>
                   
  
        
    </div>
    </form>
</body>
</html>
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 Telerik.Mvc.Web.Helpers;
  
namespace WebRole1
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        DataClasses1DataContext dc = new DataClasses1DataContext();
  
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridView1.DataSource = dc.cus_Events.ToList();
                BindGrid("Binded");
            }
        }
  
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0)
            {
                string venuename = TextBox1.Text;
                string eventname = TextBox2.Text;
                string eventweb = TextBox3.Text;
                string filename = TextBox4.Text;
                DateTime startdate = Convert.ToDateTime("01/01/2001 12:00:00 AM");
                DateTime enddate = Convert.ToDateTime("01/05/2001 12:00:00 AM");
                //DateTime startdate = RadControlHelper.ExtractDateValue(Request, "RadDatePicker1");
                //DateTime enddate = RadControlHelper.ExtractDateValue(Request, "RadDatePicker2");
  
  
                byte[] filebyte = FileUpload1.FileBytes;
  
  
                System.Data.Linq.Binary fileBinary = new System.Data.Linq.Binary(filebyte);
                dc.ADDEVENTS(venuename, eventname, startdate, enddate, eventweb, filename, fileBinary);
                Label1.Text = "File Uploaded Successfully";
            }
  
        }
        private void BindGrid(string label)
        {
            GridView1.DataBind();
            Label2.Text = label;
        }
        protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                GridBinaryImageColumnEditor editor = ((GridEditableItem)e.Item).EditManager.GetColumnEditor("Upload") as GridBinaryImageColumnEditor;
                RadAjaxPanel1.ResponseScripts.Add(string.Format("window['UploadId'] = '{0}';", editor.RadUploadControl.ClientID));
            }
        }
        protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                GridBinaryImageColumnEditor editor = ((GridEditableItem)e.Item).EditManager.GetColumnEditor("Upload") as GridBinaryImageColumnEditor;
                TableCell cell = (TableCell)editor.RadUploadControl.Parent;
                CustomValidator validator = new CustomValidator();
                validator.ErrorMessage = "Please select file to be uploaded";
                validator.ClientValidationFunction = "validateRadUpload";
                validator.Display = ValidatorDisplay.Dynamic;
                cell.Controls.Add(validator);
            }
  
        }
    }
}

Veli
Telerik team
 answered on 14 Jul 2010
3 answers
151 views
Hi Telerik Team:

I am using RadPanelBar with a default skin. If I click the Arrow image (provided by the skin) on the right side of header item. The item gets expanded. However it also popup a new page (specified in NavigateURL ).

What I want is when I click the Arrow, it expands the item,  but not popup the NavigateURL page. The NavigateURL page should be populated when I click other area of the header.

I looked at your sample "Example Scenarios (How To) > Expand a header item while clicking on the ImageUrl only". It is close but not exactly what I want.

I appreciate your response.

Thanks
Wei
Kamen Bundev
Telerik team
 answered on 14 Jul 2010
3 answers
151 views
Hi there,

Please see the attached image.  I am grouping my data, but I need some questions answered.

I want "Type:" not to display.  There should be just "Achievers" or "Ongoing".

Next to "Achievers" and "Ongoing" I need the group total to display, just above the item count.  So to the right of "Achievers" I need the value to be 5.

I had a look at the samples online, and the forum.  I think there were 2 posts in the forum.

Here is my code:

<telerik:RadGrid
  AllowPaging="false"
  AutoGenerateColumns="false"
  GridLines="None"
  ID="rgNominationsReportSummary"
  runat="server"
  ShowHeader="false"
  Width="450">
  <MasterTableView Name="NominationsSumary">
    <GroupByExpressions>
      <telerik:GridGroupByExpression>
        <SelectFields>
          <telerik:GridGroupByField FieldName="NominationTypeName" FieldAlias="Type" />
        </SelectFields>
        <GroupByFields>
          <telerik:GridGroupByField FieldName="NominationTypeName" />
        </GroupByFields>
      </telerik:GridGroupByExpression>
    </GroupByExpressions>
    <Columns>
      <telerik:GridBoundColumn DataField="NominationStatusName" HeaderText="Status">
        <ItemStyle Width="88%" />
      </telerik:GridBoundColumn>
      <telerik:GridBoundColumn DataField="NominationCount" HeaderText="Count">
        <HeaderStyle HorizontalAlign="Right" />
        <ItemStyle HorizontalAlign="Right" Width="12%" />
      </telerik:GridBoundColumn>
    </Columns>
  </MasterTableView>
</telerik:RadGrid>

Thanks
Brendan
Brendan Vogt
Top achievements
Rank 1
 answered on 14 Jul 2010
1 answer
123 views
Hello everyone,

I'm using a marked zone as a horizontal baseline for a chart per the many examples on this site.  This is working fine as long as the data in the chart series are close in value to the marked zone's ValueStartY and ValueEndY properties.  If not, the marked zone's position is outside of the viewable plot area.  Is there a way to ensure that the marked zone always shows up?  Also, the data is quite variable, and the chart implementation is designed to accomodate several types of charts (an engine of sorts), so we can't just assume a visible min/max for the Y axis.  Any help is greatly appreciated.  Thanks!

Eric
Ves
Telerik team
 answered on 14 Jul 2010
1 answer
110 views
hi
  how to add new record in grid,for example add the row to the grid and make another row available to enter another record
Shinu
Top achievements
Rank 2
 answered on 14 Jul 2010
2 answers
283 views
Hi,

I need to loop through every row in a multicolumn dropdown in client side, how can this be acheived?

Scenario. There is a multicolumn radcombobox whith 3 columns, User enter a value in a textbox which should get added to the multicolumn racombo. Before inserting the value to the combo I need to check if that value which user has entered is already present in the list or not. If the value is there in the list already I need to display a error message to the user. I need this to be acheived client side. I need to loop through every row in the item list and get the value of the first column.

Please let me know how can  this be accomplished.
Yana
Telerik team
 answered on 14 Jul 2010
1 answer
106 views
hello

I RadControls for ASP.NET AJAX Q1 2010
I wish I could use the new Multi selection of radupload.
I saw it was a novelty how do I do to get the upgrade?



Ch.
Yana
Telerik team
 answered on 14 Jul 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Hiba
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Max
Top achievements
Rank 1
Veteran
Iron
Alina
Top achievements
Rank 1
Rakhee
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?