Telerik Forums
UI for ASP.NET AJAX Forum
8 answers
386 views
Hello!

I used the codes from 
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/exporting/defaultcs.aspx

to export data in radgrid. But if I export to excel the top first line will have False False for filters with checkbox.

if I export to csv the checkbox values in csv are "", the True and False value in radgrid are not export into the csv.

I don't know why and couldn't find answer in the internet.

Please help. Thanks.
    <form id="form1" runat="server">  
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">  
          
    </telerik:RadScriptManager> 
    <telerik:RadCodeBlock runat="server">  
             <script type="text/javascript">  
                 function RowDblClick(sender, eventArgs) {  
                     sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());  
                 }  
                   
                 function onRequestStart(sender, args) {  
                     if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||  
                    args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||  
                    args.get_eventTarget().indexOf("ExportToPdfButton") >= 0 ||  
                    args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {  
 
                         args.set_enableAjax(false);  
                     }  
                 }  
        </script> 
    </telerik:RadCodeBlock> 
    <div> 
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">  
            <ClientEvents  OnRequestStart="onRequestStart" /> 
        </telerik:RadAjaxManager> 
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">  
        </telerik:RadAjaxLoadingPanel> 
     
 
    <div align=center>  
        <asp:Label ID="Label1" runat="server"   
            Text="Qwest Tele Sales Crossmedia Report Tool" Font-Bold="True"   
            Font-Italic="True" Font-Size="XX-Large"></asp:Label> 
            </> 
    </div> 
     
        <telerik:RadGrid ID="RadGrid1" runat="server" AllowAutomaticUpdates="True" 
            AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" DataSourceID="SqlDataSource1" 
            GridLines="None" EnableLinqExpressions="False"   
            OnItemCommand="RadGrid1_ItemCommand"   
            onexcelmlexportrowcreated="RadGrid1_ExcelMLExportRowCreated"   
            onexcelmlexportstylescreated="RadGrid1_ExcelMLExportStylesCreated"   
            onitemcreated="RadGrid1_ItemCreated">  
            <MasterTableView AutoGenerateColumns="False" DataKeyNames="ID" 
                DataSourceID="SqlDataSource1" EditMode="PopUp">  
                <RowIndicatorColumn> 
                    <HeaderStyle Width="20px"></HeaderStyle> 
                </RowIndicatorColumn> 
                <ExpandCollapseColumn> 
                    <HeaderStyle Width="20px"></HeaderStyle> 
                </ExpandCollapseColumn> 
                <Columns> 
                    <telerik:GridEditCommandColumn> 
                    </telerik:GridEditCommandColumn> 
                    <telerik:GridBoundColumn DataField="ID" DataType="System.Int64" HeaderText="ID" ReadOnly="True" 
                        SortExpression="ID" UniqueName="ID" HeaderStyle-Width="110px">  
                        <FilterTemplate> 
                        Clear filters  
                        <asp:ImageButton ID="btnShowAll" runat="server" ImageUrl="Img/filterCancel.gif" OnClick="btnShowAll_Click" 
                                Style="vertical-align: middle" /> 
                        </FilterTemplate> 
 
<HeaderStyle Width="110px"></HeaderStyle> 
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="SID" DataType="System.Int64" HeaderText="SID" ReadOnly="true" ForceExtractValue="InEditMode" 
                        SortExpression="SID" UniqueName="SID">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Username" HeaderText="Username" SortExpression="Username" ReadOnly="true" ForceExtractValue="InEditMode" 
                        UniqueName="Username">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="First" HeaderText="First" SortExpression="First" ReadOnly="true" ForceExtractValue="InEditMode" 
                        UniqueName="First">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Last" HeaderText="Last" SortExpression="Last" ReadOnly="true" ForceExtractValue="InEditMode" 
                        UniqueName="Last">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridCheckBoxColumn DataField="EngPostcard" DataType="System.Boolean" HeaderText="EngPostcard" 
                        SortExpression="EngPostcard" UniqueName="EngPostcard">  
                    </telerik:GridCheckBoxColumn> 
                    <telerik:GridCheckBoxColumn DataField="EngEmail" DataType="System.Boolean" HeaderText="EngEmail" 
                        SortExpression="EngEmail" UniqueName="EngEmail">  
                    </telerik:GridCheckBoxColumn> 
                    <telerik:GridBoundColumn DataField="Name" HeaderText="Name" SortExpression="Name" 
                        UniqueName="Name">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Speed" HeaderText="Speed" SortExpression="Speed" 
                        UniqueName="Speed">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Email" HeaderText="Email" SortExpression="Email" 
                        UniqueName="Email">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Address1" HeaderText="Address1" SortExpression="Address1" 
                        UniqueName="Address1">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Address2" HeaderText="Address2" SortExpression="Address2" 
                        UniqueName="Address2">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="City" HeaderText="City" SortExpression="City" 
                        UniqueName="City">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="State" HeaderText="State" SortExpression="State" 
                        UniqueName="State">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn DataField="Zip" HeaderText="Zip" SortExpression="Zip" UniqueName="Zip">  
                    </telerik:GridBoundColumn> 
                    <telerik:GridDateTimeColumn DataField="DateVisited" DataType="System.DateTime" HeaderText="DateVisited" 
                        SortExpression="DateVisited" UniqueName="DateVisited">  
                    </telerik:GridDateTimeColumn> 
                   <telerik:GridBoundColumn DataField="DateRegistered" DataType="System.DateTime" HeaderText="DateRegistered" 
                        SortExpression="DateRegistered"  UniqueName="DateRegistered" > 
                        <FilterTemplate> 
                            From  
                            <telerik:RadDatePicker ID="FromDateRegisteredPicker" runat="server" Width="85px" 
                                ClientEvents-OnDateSelected="FromDateRegisteredSelected" MinDate="06-01-2010" 
                                MaxDate="01-01-2020" FocusedDate="07-04-2010" DbSelectedDate='<%# startDate %>' /> 
                            to  
                            <telerik:RadDatePicker ID="ToDateRegisteredPicker" runat="server" Width="85px" ClientEvents-OnDateSelected="ToDateRegisteredSelected" 
                                MinDate="06-01-2010" MaxDate="01-01-2020" FocusedDate="08-08-2010" DbSelectedDate='<%# endDate %>' /> 
                            <telerik:RadScriptBlock runat="server" ID="RadScriptBlock1">  
 
                                <script type="text/javascript">  
                                    function FromDateRegisteredSelected(sender, args) {  
                                        var tableView = $find("<%#((GridItem)Container).OwnerTableView.ClientID %>");  
                                        var ToDateRegisteredPicker = $find('<%#((GridItem)Container).FindControl("ToDateRegisteredPicker").ClientID %>');  
 
                                        var fromDateRegistered = FormatSelectedDate(sender);  
                                        var toDateRegistered = FormatSelectedDate(ToDateRegisteredPicker);  
 
                                        tableView.filter("DateRegistered", fromDateRegistered + " " + toDateRegistered, "Between");  
                                    }  
 
                                    function ToDateRegisteredSelected(sender, args) {  
                                        var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                        var fromDateRegisteredPicker = $find('<%# ((GridItem)Container).FindControl("FromDateRegisteredPicker").ClientID %>');  
 
                                        var fromDateRegistered = FormatSelectedDate(fromDateRegisteredPicker);  
                                        var toDateRegistered = FormatSelectedDate(sender);  
                                        tableView.filter("DateRegistered", fromDateRegistered + " " + toDateRegistered, "Between");  
                                    }  
 
                                    function FormatSelectedDate(picker) {  
                                        var date = picker.get_selectedDate();  
                                        var dateInput = picker.get_dateInput();  
                                        var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());  
 
                                        return formattedDate;  
                                    }  
                                </script> 
 
                            </telerik:RadScriptBlock> 
                        </FilterTemplate> 
                          
                    </telerik:GridBoundColumn> 
                    <telerik:GridCheckBoxColumn DataField="Optout" DataType="System.Boolean" HeaderText="Optout" 
                        SortExpression="Optout" UniqueName="Optout">  
                    </telerik:GridCheckBoxColumn> 
                </Columns> 
 
                <EditFormSettings> 
                <EditColumn UniqueName="EditCommandColumn1"></EditColumn> 
                </EditFormSettings> 
 
            </MasterTableView>          
            <ClientSettings> 
                <ClientEvents OnRowDblClick="RowDblClick" /> 
            </ClientSettings> 
        </telerik:RadGrid> 
    </div> 
            <div class="module" style="height: 110px; width: 92%">  
            <asp:CheckBox ID="CheckBox1" Text="Export only data" runat="server"></asp:CheckBox> 
            <br /> 
            <asp:CheckBox ID="CheckBox2" Text="Ignore paging (exports all pages)" runat="server"></asp:CheckBox> 
            <br /> 
            <asp:CheckBox ID="CheckBox3" Text="Open exported data in new browser window" runat="server"></asp:CheckBox> 
            <br /> 
            <br /> 
            <asp:Button ID="Button1"  Width="150px" Text="Export to Excel" OnClick="Button1_Click" 
            runat="server"></asp:Button> 
            <asp:Button ID="Button4"  Width="150px" Text="Export to ExcelML" OnClick="Button4_Click" 
            runat="server"></asp:Button> 
            <asp:Button ID="Button2"  Width="150px" Text="Export to Word" OnClick="Button2_Click" 
            runat="server"></asp:Button> 
            <asp:Button ID="Button3"  Width="150px" Text="Export to CSV" OnClick="Button3_Click" 
            runat="server"></asp:Button> 
        </div> 
        <br /> 
    </form> 
Raj
Top achievements
Rank 1
 answered on 25 Nov 2010
11 answers
151 views
Hi

I am using a RadGrid with many colums that is wider than the screen. So, in the ClientSettings markup I have set <Scrolling AllowScroll="true" />. But this means that I have to scroll all the way to the right to see my "150 items in 15 pages" label on the footer, along with my right-aligned commanditems. I have fixed the Commanditems appearance by using jQuery to resize the "tblcommand" table, but struggling with the footer. It all seems a bit hacky - is there a better way?

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"
        OnNeedDataSource="RadGrid1_NeedDataSource" AllowSorting="True"
        AllowFilteringByColumn="True" AllowPaging="True">
    <MasterTableView CommandItemDisplay="Bottom">
        <Columns>
        .
        .
        .
        <Columns>
        <CommandItemTemplate>
            <table id="tblCommand"><tr><td>
                <div style="height: 30px; line-height: 30px; position: relative; float: left; padding-left: 5px;">
                    <asp:LinkButton ID="lnkInsert" runat="server" CommandName="InitInsert"><img style="border:0px" alt="" src="/App_Images/Add.png" />  Add new record</asp:LinkButton>
                </div>  
                <div style="height: 30px; line-height: 30px; position: relative; float: left; padding-left: 15px;">
                    <asp:LinkButton ID="lnkDelete" runat="server" CommandName="Delete"><img style="border:0px" alt="" src="/App_Images/Delete.png" />  Delete record(s)</asp:LinkButton>
                </div>
                </td><td>
                <div style="height: 30px; text-align: right; position: relative; float: right;">
                    <asp:Image ID="imgCancelChanges" runat="server" ImageUrl="/App_Images/cancel.gif"
                        AlternateText="Cancel changes" ToolTip="Cancel changes" Height="24px" Style="cursor: pointer;
                        margin: 2px 5px 0px 0px;" onclick="CancelChanges();" />
                    <asp:Image ID="imgProcessChanges" runat="server" ImageUrl="/App_Images/ok.gif"
                        AlternateText="Process changes" ToolTip="Process changes" Height="24px" Style="cursor: pointer;
                        margin: 2px 5px 0px 0px;" onclick="ProcessChanges();" />
                </div>
                </td></tr>
            </table>
        </CommandItemTemplate>
        <PagerStyle AlwaysVisible="true" />
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnGridCreated="GridCreated" />
        <Scrolling AllowScroll="true" />
    </ClientSettings>
</telerik:RadGrid>
 
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    <script type="text/javascript">
        jQuery(document).ready(function ($) {       
         $('#tblCommand').width(cphContent_ctl00$cphContent$RadGrid1Panel.offsetWidth);
        });
 
        function GridCreated(sender, args) {
            var scrollArea = sender.GridDataDiv;
            var dataHeight = sender.get_masterTableView().get_element().clientHeight;
            if (dataHeight < 350) {
                scrollArea.style.height = dataHeight + 18 + "px";
            }
        }
    </script>
</telerik:RadCodeBlock>
Pavlina
Telerik team
 answered on 25 Nov 2010
1 answer
348 views
Hi ALL,

         I have used RadGrid and bind it from my custom class, i have create RadGrid object and bind it dynamically from database, add dynamic columns, dynamic edit columns and control, when i click on update button i got following error.

Specified argument was out of the range of valid values.
Parameter name: index


Here i am mentioning my code please check it once and let me know if i am missing anything.

.aspx

<form id="form1" runat="server">
    <div>
     <telerik:RadScriptManager ID="ScriptManager1" runat="server" EnableTheming="True">
    </telerik:RadScriptManager>
        <telerik:radgrid id="RadGrid1" runat="server" onneeddatasource="RadGrid1_NeedDataSource"
            enableajax="true" autogenerateeditcolumn="True" showgrouppanel="True" width="99%"
            allowpaging="True" allowautomaticupdates="true" allowsorting="True" allowmultirowselection="True"
            height="100%" skin="Vista" onitemupdated="RadGrid1_ItemUpdated" onupdatecommand="RadGrid1_UpdateCommand">
                                    <ClientSettings AllowDragToGroup="True" AllowColumnsReorder="True" ReorderColumnsOnClient="True"
                                        AllowKeyboardNavigation="True">
                                        <Selecting AllowRowSelect="True" />
                                        <ClientEvents OnGridCreated="ResizeEvent" />
                                        <Scrolling AllowScroll="True" UseStaticHeaders="True" FrozenColumnsCount="3" />
                                        <Resizing ResizeGridOnColumnResize="True" AllowColumnResize="True" />
                                    </ClientSettings>
                                    <MasterTableView TableLayout="Fixed" Width="99%" GridLines="Both" AllowAutomaticUpdates="True"
                                        AutoGenerateColumns="False">
                                        <ExpandCollapseColumn>
                                            <HeaderStyle Width="20px" />
                                        </ExpandCollapseColumn>
                                        <EditFormSettings ColumnNumber="3">
                                            <EditColumn ButtonType="PushButton" UniqueName="EditCommandColumn1">
                                            </EditColumn>
                                        </EditFormSettings>
                                        <PagerStyle AlwaysVisible="True" />
                                        <HeaderStyle Wrap="False" />
                                    </MasterTableView>
                                </telerik:radgrid>
    </div>
    </form>

.cs file

GridTest = public partial class(TBasePage)
  private
  FGridHelper: TGridHelper;
  method GetDataGrid: RadGrid;
  protected
    method Page_Load(sender: Object; e: EventArgs);
    method RadGrid1_NeedDataSource(source: System.Object; e: Telerik.Web.UI.GridNeedDataSourceEventArgs);
    method RadGrid1_UpdateCommand(sender: Object; e: Telerik.Web.UI.GridCommandEventArgs);
    method RadGrid1_ItemUpdated(source: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
    property grdData: RadGrid read GetDataGrid;
  end;
 
implementation
 
method GridTest.GetDataGrid: RadGrid;
begin
  Result := RadGrid1;
end;
 
method GridTest.Page_Load(sender: Object; e: EventArgs);
begin
    FGridHelper := new TGridHelper(EasyIPConnection, grdData, Session);
end;
 
method GridTest.RadGrid1_ItemUpdated(source: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
begin
  FGridHelper.UpdateCommand(source, e);
end;
 
method GridTest.RadGrid1_UpdateCommand(sender: Object; e: Telerik.Web.UI.GridCommandEventArgs);
var
 editedItem : GridEditableItem;
  
 PlantID,PlantName,updateQuery  : String;
 NewValues: Hashtable;
begin
    editedItem := e.Item as GridEditableItem;
    var editMan : GridEditManager;
    editMan := editedItem.EditManager;
     
     
   //for each column:GridColumn in e.Item.OwnerTableView.RenderColumns do 
        //begin
            //if (column is IGridEditableColumn) then
                //begin
                    //var str : String;
                    //str := "abc";
                //end;
        //end;
    //
    //var txt := new TextBox;
     
    
    NewValues := new Hashtable;
   
    e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, editedItem);
end;
 
method GridTest.RadGrid1_NeedDataSource(source: System.Object; e: Telerik.Web.UI.GridNeedDataSourceEventArgs);
var SubnetData : DataTable;
begin
  //if Boolean(Session['LoggedIn']) then
       
            //FGridHelper.OpenGrid(FTreeHelper.GetNodeData(tvSubnets.SelectedNode).NodeType,
                           //FTreeHelper.GetNodeData(tvSubnets.SelectedNode).AutonomousNetworkId,
                           //FTreeHelper.GetNodeData(tvSubnets.SelectedNode).SubnetId);
     // When we require to pass field id than we have to use this method and remove comment.
            // FGridHelper.OpenGrid(RadTextBox2.Text.Trim,hdnSearchText.Value.ToUpper,getUserTableID(hdnSearchText.Value.ToUpper),GetOption(hdnSearchMethod.Value),GetFieldId(hdnFieldList.Value.ToString()));
            // Bind grid for right side search
            //FGridHelper.OpenGrid( ("","SUBNET","SUBNET","",nil);
            FGridHelper.OpenGrid("","ADDRESSES",2,EasyIPLibrary_Intf.TSearchOption.soContains,nil)
    
    
end;

Class Flle

TGridHelper = public class
  private
    FGridView: RadGrid;
    FEasyIPConnection: TClientConnection;
    FTableType: TTableType;
    FDataset: DataSet;
    FDatatable: DataTable;
    FSession: HttpSessionState;
 
    method FGridView_UpdateCommand(source: Object; e: GridCommandEventArgs);
    procedure DeleteCommand(source: System.Object; e: GridCommandEventArgs);
    method FGridView_DeleteCommand(source: Object; e: GridCommandEventArgs);
    method ItemDataBound(sender: System.Object; e: Telerik.Web.UI.GridItemEventArgs);
    function AddNewColumn(FieldName, HeaderText: String; IsReadOnly: Boolean): GridBoundColumn;
    method CreateColumnEditor(sender: System.Object; e: Telerik.Web.UI.GridCreateColumnEditorEventArgs);
    method ItemCreated(sender: System.Object; e: Telerik.Web.UI.GridItemEventArgs);
    method ItemCommand(sender: System.Object; e: Telerik.Web.UI.GridCommandEventArgs);
    method UpdateCommand(sender: System.Object; e: Telerik.Web.UI.GridCommandEventArgs);
    method ItemUpdated(sender: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
 
    property Session: HttpSessionState read FSession;
  protected
  public
    constructor(EasyIPConnection: TClientConnection; Grid: RadGrid; ASession: HttpSessionState);
 
    method OpenGrid(NodeType: TNodeType; AutonomousNetworkId, SubnetId: Int64);
    method OpenGrid(const SearchText: String; const TableName: String; TableId: Int64; SearchOption: TSearchOption; FieldIds: Array of System.Int64);
    method OpenGrid(const TableName: String);
    method OpenGrid;
    method UpdateCommand(source: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
    method CloseGrid;
  end;
 
implementation
 
const
  ImageInfoField = '_IMAGE_INFO_FIELD_';
 
constructor TGridHelper(EasyIPConnection: TClientConnection; Grid: RadGrid; ASession: HttpSessionState);
begin
  FEasyIPConnection := EasyIPConnection;
  FSession := ASession;
 
  FGridView := Grid;
 
  FGridView.ItemDataBound += @ItemDataBound;
  FGridView.ItemUpdated += @UpdateCommand;
  FGridView.DeleteCommand += @DeleteCommand;
  FGridView.CreateColumnEditor += @CreateColumnEditor;
  FGridView.ItemCommand += @ItemCommand;
  FGridView.UpdateCommand += @UpdateCommand;
   
end;
 
function TGridHelper.AddNewColumn(FieldName, HeaderText: String; IsReadOnly: Boolean): GridBoundColumn;
begin
  Result := new GridBoundColumn;
  Result.ReadOnly := IsReadOnly;
  Result.HeaderText := HeaderText;
  Result.DataField := FieldName;
   
  Result.HeaderStyle.Wrap := FALSE;
  Result.ItemStyle.Wrap := FALSE;
  Result.UniqueName := FieldName;
 
  if HeaderText = 'Subnet icon' then
    begin
        Result.HeaderText := "";
        Result.HeaderStyle.Width := 30;
        Result.ItemStyle.HorizontalAlign := Result.ItemStyle.HorizontalAlign.Center;
        Result.Resizable := false;
        Result.Reorderable := false;
    end
  else
    Result.HeaderStyle.Width := 350;
 
  FGridView.MasterTableView.Columns.Add(Result);
end;
 
method TGridHelper.ItemDataBound(sender: System.Object; e: Telerik.Web.UI.GridItemEventArgs);
var
  AGridItem: GridDataItem;
  AValue: String;
  NormalImageURL, SelectedImageURL: String;
  i: Integer;
  UserField: TUserField;
  LookupItem: TUserFieldLookup;
  Column: GridBoundColumn;
  ImageInfos: TStringList;
begin
  if e.Item is GridDataItem then
  begin
    AGridItem := GridDataItem(e.Item);
 
    if FTableType = TTableType.ttSubnets then
    begin
      ImageInfos := new TStringList;
 
      // CIDR_MASK, ADDRESS_COUNT, CHILD_COUNT, ITEM_TYPE, SECONDARY_ITEM_TYPE
      for each s:String in AGridItem[ImageInfoField].Text.Split([',']) do 
        ImageInfos.Add(s);
 
      if ImageInfos.Count = 5 then
      begin
        if ImageInfos[3] = 'G' then
          GetNodeImages(NormalImageURL, SelectedImageURL,
                        TNodeType.ntGroup)
        else
          GetNodeImages(NormalImageURL, SelectedImageURL,
                        TNodeType.ntSubnet,
                        Integer.Parse(ImageInfos[0]),
                        ImageInfos[1] <> '0',
                        ImageInfos[2] <> '0');
 
        AGridItem[ImageInfoField].Text := system.string.format('<img src="{0}" alt="" style="border-width:0px"/>', [NormalImageURL]);
      end
      else
        AGridItem[ImageInfoField].Text := '';
    end;
 
    for i := 0 to pred(FGridView.Columns.Count) do
    begin
      if FGridView.Columns[i] is GridBoundColumn then
      begin
        Column := FGridView.Columns[i] as GridBoundColumn;
 
        UserField := FEasyIPConnection.FindUserField(TableTypeToTableName(FTableType), Column.DataField);
 
        if Assigned(UserField) then
        begin 
          LookupItem := nil;
            
          for LoopLookupItem in UserField.LookupList do
            if LoopLookupItem.Caption = AValue then
            begin
              LookupItem := LoopLookupItem;
 
              Break;
            end;
 
          if Assigned(LookupItem) then
          begin
            if LookupItem.Description <> '' then
              AGridItem.Cells[i].Text := LookupItem.Description;
 
            if LookupItem.FontColour <> nil then
              AGridItem.Cells[i].ForeColor := GetWebColor(Integer(LookupItem.FontColour));
 
            if LookupItem.BackgroundColour <> nil then
              AGridItem.Cells[i].BackColor := GetWebColor(Integer(LookupItem.BackgroundColour));
 
            AGridItem.Cells[i].Font.Bold := LookupItem.FontBold;
            AGridItem.Cells[i].Font.Underline := LookupItem.FontUnderline;
            AGridItem.Cells[i].Font.Italic := LookupItem.FontItalic;
          end
          else
          begin
            if UserField.BackgroundColour <> nil then
              AGridItem.Cells[i].BackColor := GetWebColor(Integer(UserField.BackgroundColour));
 
            if UserField.FontColour <> nil then
              AGridItem.Cells[i].ForeColor := GetWebColor(Integer(UserField.FontColour));
 
            AGridItem.Cells[i].Font.Bold := UserField.FontBold;
            AGridItem.Cells[i].Font.Underline := UserField.FontUnderline;
            AGridItem.Cells[i].Font.Italic := UserField.FontItalic;
          end;
        end;
      end;
    end;
  end;
end;
 
method TGridHelper.UpdateCommand(source: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
var
  EditedItem: GridEditableItem;
  SubnetId, KeyValue: Int64;
  NewValues: Hashtable;
  FieldNames: List<String>;
  FieldValues: List<Object>;
  TableName: String;
  i: Integer;
begin
  EditedItem := e.Item as GridEditableItem;
 
  KeyValue := Int64(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]['ID']);
 
  NewValues := Hashtable.Create;
  FieldNames := new List<String>;
  FieldValues := new List<Object>;
 
  //The GridTableView will fill the values from all editable columns in the hash
  e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, EditedItem);
   
  for Entry:KeyValuePair<String, Object> in NewValues do
  begin
    FieldNames.Add(Entry.Key.ToString);
    FieldValues.Add(Entry.Value);
  end;
 
  case FTableType of
    TTableType.ttAddresses: TableName := 'ADDRESSES_USER_DATA';
    TTableType.ttSubnets: TableName := 'SUBNETS_USER_DATA';
  end; // case
 
 FEasyIPConnection.UpdateUserFields(TableName, KeyValue, FieldNames.ToArray, FieldValues.ToArray);
 (*   ChangedRow := ChangedRows[0];
    ChangedRow.BeginEdit;
 
    ATransaction := nil;
    try
      for Entry in newValues do
      begin
        FieldPropertiesItem := SessionHelper.FieldPropertiesList.GetFieldPropertiesItem(Session['TableName'].ToString, Entry.Key.ToString);
 
        if (Assigned(FieldPropertiesItem)) and (FieldPropertiesItem.Mandatory) and ((not Assigned(Entry.Value)) or (Entry.Value.ToString = '')) then
          raise EEasyIPError.Create(system.string.Format(GetLocalisationString(105), [Entry.Key.ToString]));
 
        if not Assigned(entry.Value) then // Null cannot be assigned to ChangedRow
          ChangedRow[entry.Key.ToString] := DBNULL.Value
        else
        try
          ChangedRow[entry.Key.ToString] := entry.Value;
        except
          raise EEasyIPError.Create(system.string.format(GetLocalisationString(28), [entry.Value, entry.Key.ToString]));
        end;
 
        if SetSQL <> '' then
          SetSQL := concat(SetSQL, ',');
 
        SetSQL := system.string.format('{0}"{1}"=@P{2}', [SetSQL, entry.Key.ToString, ParamCounter.ToString]);
        SessionHelper.DBConnection.SQLCommand.Parameters.Add(FBParameter.Create(system.string.format('@P{0}', [ParamCounter.ToString]), ChangedRow[entry.Key.ToString]));
 
        inc(ParamCounter);
      end;
 
      UpdateText := system.string.format(UpdateText, [SetSQL]);
 
      SessionHelper.ExecuteQuery(UpdateText);
 
      ChangedRow.EndEdit;
      SessionHelper.DBConnection.DataSet.AcceptChanges;
      SessionHelper.CommitTransaction;
    except
      on ex:Exception do
      begin
        ChangedRow.CancelEdit;
        e.Canceled := TRUE;
 
        SessionHelper.RollbackTransaction;
 
        With  (e.Item as GridEditFormItem).FindControl('lblUpdateErrorTop') as &Label do
        begin
          Text := SessionHelper.DBConnection.TranslateException(ex);
          Visible := TRUE;
        end;
        With  (e.Item as GridEditFormItem).FindControl('lblUpdateErrorBottom') as &Label do
        begin
          Text := SessionHelper.DBConnection.TranslateException(ex);
          Visible := TRUE;
        end;
      end;
    end;
  end;*)
end;
 
procedure TGridHelper.DeleteCommand(source: System.Object; e: GridCommandEventArgs);
var
  EditedItem: GridEditableItem;
  SubnetId, KeyValue: Int64;
begin
  EditedItem := e.Item as GridEditableItem;
 
  KeyValue := Int64(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]['ID']);
  SubnetId := Int64(Session['LastDataGridSubnetId']);
 
  FEasyIPConnection.DeleteIPAddressesById(SubnetId, [KeyValue]);
end;
 
method TGridHelper.CloseGrid;
begin
  FGridView.DataSource := nil;
 
  FGridView.Visible := FALSE;
end;
 
method TGridHelper.OpenGrid(NodeType: TNodeType; AutonomousNetworkId, SubnetId: Int64);
begin
  FDataSet := nil;
 
  FTableType := TTableType.ttSubnets;
 
  case NodeType of
    TNodeType.ntAutonomousNetwork:
      begin
        FDataSet := FEasyIPConnection.GetGridRootNodes(AutonomousNetworkId);
      end;
 
    TNodeType.ntGroupWithChildren,
    TNodeType.ntRestrictedGroupWithChildren,
    TNodeType.ntSubnetWithChildren:
      begin
        FDataSet := FEasyIPConnection.GetGridChildNodes(AutonomousNetworkId, SubnetId);
      end;
 
    TNodeType.ntSubnetWithIPAddresses:
      begin
        FDataSet := FEasyIPConnection.GetGridNodeIPAddresses(SubnetId);
 
        FTableType := TTableType.ttAddresses;
      end;
  end; // case
 
  if Assigned(FDataSet) then
  begin
    FGridView.DataSource := FDataSet;
    FGridView.MasterTableView.DataMember := FDataset.Tables[0].TableName;
    FGridView.Visible := TRUE;
    OpenGrid;
  end
  else
    CloseGrid;
 
  Session['LastDataGridSubnetId'] := SubnetId;
end;
 
method TGridHelper.OpenGrid;
const
  IMAGE_COL_WIDTH = 30;
var
  UserFields: array of TUserField;
  NewButton: GridEditCommandColumn;
  NewGridButtonColumn: GridButtonColumn;
  KeyFieldNames: Array of String;
  i, FixedColCount: Integer;
  VisibleColumnCount, VisibleColumnIndex: Integer;
 
begin
  FGridView.Columns.Clear;
 
  FixedColCount := 0;
  VisibleColumnCount := 0;
 
  SetLength(KeyFieldNames, 1);
  KeyFieldNames[0] := 'ID';
 
  FGridView.MasterTableView.DataKeyNames := KeyFieldNames;
         
  case FTableType of
    TTableType.ttSubnets:
      begin
        FGridView.MasterTableView.EditFormSettings.CaptionDataField := 'SHORT_SUBNET';
        FGridView.MasterTableView.EditFormSettings.CaptionFormatString := 'Subnet: <B>{0}</B>';
      end;
 
    TTableType.ttAddresses:
      begin
        FGridView.MasterTableView.EditFormSettings.CaptionDataField := 'SHORT_IP_ADDRESS';
        FGridView.MasterTableView.EditFormSettings.CaptionFormatString := 'IP Address: <B>{0}</B>';
      end;
  end;
  FGridView.AutoGenerateEditColumn := true;
  FGridView.AllowAutomaticUpdates := false;
  // Create edit button
  NewButton := GridEditCommandColumn.Create;
  FGridView.Columns.Add(NewButton);
  NewButton.ButtonType := Telerik.Web.UI.GridButtonColumnType.ImageButton;
  NewButton.Groupable := FALSE;
  NewButton.HeaderStyle.Width := IMAGE_COL_WIDTH;
  NewButton.Reorderable := FALSE;
  NewButton.Resizable := FALSE;
 
   
 
  Inc(FixedColCount);
 
  // Create delete button
  if FTableType = TTableType.ttAddresses then
  begin
    NewGridButtonColumn := GridButtonColumn.Create;
    FGridView.Columns.Add(NewGridButtonColumn);
    NewGridButtonColumn.CommandName := 'Delete';
    NewGridButtonColumn.ConfirmText := 'Are you sure you want to delete the selected IP address?';
    NewGridButtonColumn.Text := '<img src="./Images/General/Delete.png" alt="x" style="border-width:0px"/>';
    NewGridButtonColumn.HeaderStyle.Width := IMAGE_COL_WIDTH;
    NewGridButtonColumn.Groupable := FALSE;
    NewGridButtonColumn.Reorderable := FALSE;
    NewGridButtonColumn.Resizable := FALSE;
 
    Inc(FixedColCount);
  end;
 
  // Find the fields for the selected table
  UserFields := FEasyIPConnection.GetUserFields(TableTypeToTableName(FTableType));
 
  for UserField in UserFields do
  begin
    if ((UserField.Selectable) and
       (not UserField.HiddenColumn)) or
       ((FTableType = TTableType.ttSubnets) and (UserField.FieldName = ImageInfoField)) then
    begin
      if UserField.FixedColumn then
        Inc(FixedColCount);
 
      if UserField.DisplayName = '' then
        AddNewColumn(UserField.FieldName, Uncapitalise(UserField.FieldName), UserField.ReadOnly)
     else        
        AddNewColumn(UserField.FieldName, UserField.DisplayName, UserField.ReadOnly);
 
      if not UserField.ReadOnly then
        Inc(VisibleColumnCount);
    end;
  end;
 
  FGridView.ClientSettings.Scrolling.FrozenColumnsCount := FixedColCount;
 
  VisibleColumnIndex := 0;
 
  for i := 0  to pred(FGridView.Columns.Count) do
    if (FGridView.Columns[i] is GridBoundColumn) and (GridBoundColumn(FGridView.Columns[i]).Visible) and (not GridBoundColumn(FGridView.Columns[i]).ReadOnly) then
    begin
      GridBoundColumn(FGridView.Columns[i]).EditFormColumnIndex := Trunc((System.Double(FGridView.MasterTableView.EditFormSettings.ColumnNumber) / System.Double(VisibleColumnCount)) * System.Double(VisibleColumnIndex));
 
      Inc(VisibleColumnIndex);
    end
end;
 
method TGridHelper.ItemCreated(sender: System.Object; e: Telerik.Web.UI.GridItemEventArgs);
//var
//  lbl: &Label;
begin
  {if (e.Item is GridEditFormItem) and (e.Item.IsInEditMode) then
  begin
    lbl := &Label.Create;
    lbl.ID := 'lblUpdateErrorTop';
    lbl.Visible := false;
    lbl.CssClass := 'label_error';
    (e.Item as GridEditFormItem).EditFormCell.Controls.AddAt(0, lbl);
 
    lbl := &Label.Create;
    lbl.ID := 'lblUpdateErrorBottom';
    lbl.Visible := false;
    lbl.CssClass := 'label_error';
    (e.Item as GridEditFormItem).EditFormCell.Controls.Add(lbl);
  end;}
end;
 
method TGridHelper.CreateColumnEditor(sender: System.Object; e: Telerik.Web.UI.GridCreateColumnEditorEventArgs);
var
  UserField: TUserField;
  MaxLength: Integer;
  FieldName, Skin: String;
  ARadComboBoxItem: RadComboBoxItem;
  ARadComboBox: RadComboBox;
begin
  if e.Column is GridBoundColumn then
  begin
    MaxLength := 0;
 
    UserField := FEasyIPConnection.FindUserField(TableTypeToTableName(FTableType), (e.Column as GridBoundColumn).DataField);
 
    if Assigned(UserField) then
    begin
      FieldName := (e.Column as GridBoundColumn).DataField.ToString;
 
      MaxLength := UserField.FieldSize;
 
      if UserField.FieldType in [TEIPDataType.edatString, TEIPDataType.edatWideString] then
      begin
        if UserField.LookupType <> TUserFieldLookupType.ltNone then
        begin
          e.ColumnEditor := new TCustomColumnEditor(concat('DropDown_', FieldName), TEditorType.etComboBox);
 
          ARadComboBox := ((e.ColumnEditor as TCustomColumnEditor).EditControl as RadComboBox);
          ARadComboBox.AllowCustomText := UserField.LookupType = TUserFieldLookupType.ltEditable;
 
          ARadComboBox.Items.Clear;
 
          for LookupItem in UserField.LookupList do
          begin
            ARadComboBoxItem := new RadComboBoxItem;
 
            ARadComboBoxItem.Value := LookupItem.Caption;
            ARadComboBoxItem.Text := LookupItem.Caption;
 
            if LookupItem.FontColour <> nil then
              ARadComboBoxItem.ForeColor := GetWebColor(Integer(LookupItem.FontColour));
 
            if LookupItem.BackgroundColour <> nil then
              ARadComboBoxItem.BackColor := GetWebColor(Integer(LookupItem.BackgroundColour));
 
            ARadComboBoxItem.Font.Bold := LookupItem.FontBold;
            ARadComboBoxItem.Font.Underline := LookupItem.FontUnderline;
            ARadComboBoxItem.Font.Italic := LookupItem.FontItalic;
 
            ARadComboBox.Items.Add(ARadComboBoxItem);
          end;
 
          ARadComboBoxItem := RadComboBoxItem.Create;
          ARadComboBoxItem.Value := '';
          ARadComboBoxItem.Text := '[Blank]';
           
          ARadComboBox.Items.Add(ARadComboBoxItem);
 
          ARadComboBox.MaxLength := MaxLength;
        end
        else
        if UserField.EditMask <> '' then
        begin
          e.ColumnEditor := new TCustomColumnEditor(concat('MaskEdit_', FieldName), TEditorType.etMaskedText);
          ((e.ColumnEditor as TCustomColumnEditor).EditControl as RadMaskedTextBox).Mask := UserField.EditMask;
          ((e.ColumnEditor as TCustomColumnEditor).EditControl as RadMaskedTextBox).MaxLength := MaxLength;
        end
        else
        begin
          e.ColumnEditor := new TCustomColumnEditor(concat('Edit_', FieldName), TEditorType.etText);
          ((e.ColumnEditor as TCustomColumnEditor).EditControl as RadTextBox).MaxLength := MaxLength;         
        end;
      end else
      begin
        if UserField.FieldType in [TEIPDataType.edatWideMemo, TEIPDataType.edatMemo] then
           e.ColumnEditor := new TCustomColumnEditor(concat('TextBox_', FieldName), TEditorType.etMemo, Skin);
      end;
       
    end;
  end;
end;
 
 
method TGridHelper.FGridView_DeleteCommand(source: Object; e: GridCommandEventArgs);
begin
end;
 
method TGridHelper.OpenGrid(const SearchText: String; const TableName: String; TableId: Int64; SearchOption: TSearchOption; FieldIds: Array of System.Int64);
begin
  if TableName = 'SUBNETS' then
    begin
        FTableType := TTableType.ttSubnets;
        FDatatable := FEasyIPConnection.SearchTableBasic(TableId,SearchText,SearchOption,FieldIds);
    end
  else
  if TableName = 'ADDRESSES' then
    begin
        FTableType := TTableType.ttAddresses;
        FDatatable := FEasyIPConnection.SearchTableBasic(TableId,SearchText,SearchOption,FieldIds);
    end
  else
  if TableName = 'GLOBAL ARP TABLE' then
    begin
        FDatatable := FEasyIPConnection.SearchARPEntries(SearchText);
    end
  else
    begin
    // raise error
    end;
 
  // Load FDataset here (FDataset := FEasyIPConnection.SearchTableBasic(....
   
  if FDatatable <> nil then
  begin
    FGridView.DataSource := FDatatable;
    FGridView.MasterTableView.DataMember := FDatatable.TableName;
    FGridView.Visible := TRUE;
    OpenGrid;
  end;
   
end;
 
method TGridHelper.OpenGrid(const TableName: String);
begin
    FGridView.DataSource := FEasyIPConnection.GetUserFields(TableName.ToUpper());;;
    FGridView.MasterTableView.DataMember := FDatatable.TableName;
    FGridView.Visible := TRUE;
    OpenGrid;
   
end;
 
method TGridHelper.ItemCommand(sender: System.Object; e: Telerik.Web.UI.GridCommandEventArgs);
begin
  if e.CommandName = RadGrid.EditCommandName then
     begin
        //OpenGrid;
     end;
  if e.CommandName = RadGrid.InitInsertCommandName then
       FGridView.MasterTableView.ClearEditItems(); 
  if e.CommandName = RadGrid.UpdateCommandName then
    begin
       //UpdateCommand(sender,e);
       //var str : String;
       //str := "Update"
    end        
end;
 
method TGridHelper.ItemUpdated(sender: System.Object; e: Telerik.Web.UI.GridUpdatedEventArgs);
  var
  EditedItem: GridEditableItem;
begin
   EditedItem := e.Item as GridEditableItem;
end;
 
method TGridHelper.UpdateCommand(sender: System.Object; e: Telerik.Web.UI.GridCommandEventArgs);
var
  EditedItem: GridEditableItem;
  Item : GridEditFormItem;
  SubnetId, KeyValue: Int64;
  NewValues: Hashtable;
  FieldNames: List<String>;
  FieldValues: List<Object>;
  TableName,PlantName: String;
  i: Integer;
begin
   
  EditedItem := e.Item as GridEditableItem;
  FGridView.MasterTableView.ClearEditItems();
  KeyValue := Int64(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]['ID']);
 
  NewValues := new Hashtable;
  FieldNames := new List<String>;
  FieldValues := new List<Object>;
  if e.Item.IsInEditMode = true then
  begin
    var str : String;
    str := "Edit";
  end;
  //The GridTableView will fill the values from all editable columns in the hash
   
  e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, EditedItem);
  var IPAddress : String;
  IPAddress := (editedItem["Location"].Controls[1] as TextBox).Text;
     
 for Entry:DictionaryEntry in NewValues do
        begin
            FieldNames.Add(Entry.Key.ToString);
            FieldValues.Add(Entry.Value);
        end;
  case FTableType of
    TTableType.ttAddresses: TableName := 'ADDRESSES_USER_DATA';
    TTableType.ttSubnets: TableName := 'SUBNETS_USER_DATA';
  end; // case
 
 FEasyIPConnection.UpdateUserFields(TableName, KeyValue, FieldNames.ToArray, FieldValues.ToArray);
 (*   ChangedRow := ChangedRows[0];
    ChangedRow.BeginEdit;
 
    ATransaction := nil;
    try
      for Entry in newValues do
      begin
        FieldPropertiesItem := SessionHelper.FieldPropertiesList.GetFieldPropertiesItem(Session['TableName'].ToString, Entry.Key.ToString);
 
        if (Assigned(FieldPropertiesItem)) and (FieldPropertiesItem.Mandatory) and ((not Assigned(Entry.Value)) or (Entry.Value.ToString = '')) then
          raise EEasyIPError.Create(system.string.Format(GetLocalisationString(105), [Entry.Key.ToString]));
 
        if not Assigned(entry.Value) then // Null cannot be assigned to ChangedRow
          ChangedRow[entry.Key.ToString] := DBNULL.Value
        else
        try
          ChangedRow[entry.Key.ToString] := entry.Value;
        except
          raise EEasyIPError.Create(system.string.format(GetLocalisationString(28), [entry.Value, entry.Key.ToString]));
        end;
 
        if SetSQL <> '' then
          SetSQL := concat(SetSQL, ',');
 
        SetSQL := system.string.format('{0}"{1}"=@P{2}', [SetSQL, entry.Key.ToString, ParamCounter.ToString]);
        SessionHelper.DBConnection.SQLCommand.Parameters.Add(FBParameter.Create(system.string.format('@P{0}', [ParamCounter.ToString]), ChangedRow[entry.Key.ToString]));
 
        inc(ParamCounter);
      end;
 
      UpdateText := system.string.format(UpdateText, [SetSQL]);
 
      SessionHelper.ExecuteQuery(UpdateText);
 
      ChangedRow.EndEdit;
      SessionHelper.DBConnection.DataSet.AcceptChanges;
      SessionHelper.CommitTransaction;
    except
      on ex:Exception do
      begin
        ChangedRow.CancelEdit;
        e.Canceled := TRUE;
 
        SessionHelper.RollbackTransaction;
 
        With  (e.Item as GridEditFormItem).FindControl('lblUpdateErrorTop') as &Label do
        begin
          Text := SessionHelper.DBConnection.TranslateException(ex);
          Visible := TRUE;
        end;
        With  (e.Item as GridEditFormItem).FindControl('lblUpdateErrorBottom') as &Label do
        begin
          Text := SessionHelper.DBConnection.TranslateException(ex);
          Visible := TRUE;
        end;
      end;
    end;
  end;*)
end;
 
method TGridHelper.FGridView_UpdateCommand(source: Object; e: GridCommandEventArgs);
begin
end;

On RadGrid1_UpdateCommand method when i try to get new values i got an error.

e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, editedItem); --- Here i got an error.
Pavlina
Telerik team
 answered on 25 Nov 2010
3 answers
124 views
Hey,
I have a left had side menu control that uses PanelBar, it maintains its state between postbacks by this javascript code:

<script type="text/javascript">
    function pageLoad() {
        var currentUrl = window.location.href.toLowerCase();
        var panelbar = $find("<%= tlrkNavigationPanel.ClientID %>");

        var currentItem = null;
        var currentItemTemp = null;
        for (var i = 0; i < panelbar.get_allItems().length; i++) {
            if (panelbar.get_allItems()[i].get_linkElement() &&
            currentUrl.indexOf(panelbar.get_allItems()[i].get_linkElement().href.toLowerCase()) > -1) {
                currentItem = panelbar.get_allItems()[i];
                currentItemTemp = currentItem;
                break;
            }
        }

        while (currentItem && currentItem.get_parent() != panelbar) {
            currentItem.get_parent().expand();
            currentItem = currentItem.get_parent();
        }

        if (currentItemTemp) {
            currentItemTemp.select();
            currentItemTemp.expand();
        }
    }    
</script>

After moving to the new page it highlights the selected item and expand the menu, but if the selected item is not visible because the menu height exceeds the visible range, I need to scroll to view the selected item. Can anyone tell me how to make it auto scroll to the selected item
Thanks and best regards,
Peter
Telerik team
 answered on 25 Nov 2010
2 answers
56 views
My grid setup seems to have caused some unwanted behavior that I'd like to prevent if possible.

I have an ajaxified grid that I'm filtering through an outside radcombobox. The radcombobox sets a public variable that I then use in the NeedDataSource event to filter the grid. All of this works great except that when I click to edit a row using a popup edit form, the grid rebinds itself and I lose that filter.

Can you tell me how to preserve my grid filtering when the popup edit form appears and closes? Do I need to move my grid filtering to a different grid event for that?

btw...I'm using LINQ for my data source

protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
     DataClassesDataContext db = new DataClassesDataContext();
     var query = from episodes in db.Episode_Dims
              orderby episodes.ep_skey descending
              select new { episodes.season_skey, episodes.ep_skey, date_skey =
              Convert.ToDateTime(episodes.date_skey.ToString()) };
 
     if (maxSeason > 0)
          query = query.Where(p => p.season_skey == maxSeason);
 
     RadGrid1.DataSource = query;
}
Radoslav
Telerik team
 answered on 25 Nov 2010
1 answer
359 views
In a lot of the Grid samples you use Telerik.Web.SessionDS as the data provider for the grid.  Is this dll available to us.  I would love to use the full functionality of the grid for displaying and editing my data detached from the database.
Dimo
Telerik team
 answered on 25 Nov 2010
0 answers
75 views
hi i am using the rad window in my web application
the content of web page shrinks in the google chrome browser 
how to solve this problem
Sivaprakas Subramanian
Top achievements
Rank 1
 asked on 25 Nov 2010
3 answers
96 views

Is there any way to add a header row above an existing header row to group certain headers?  For example, say I have the following headers:

Office     Sales Target     Sales Actual    Purchases Target   Purchases Actual
Buffalo    $24              $22             $2                 $4
...        ...              ...             ...                ...

Instead of having "Sales" in all three column headers, I'd like it to look like the following:

           Sales              Purchases
Office     Target     Actual     Target    Actual
Buffalo    $24        $22        $2        $4
...        ...        ...        ...       ...

 
Is there any way to accomplish this?

Pavlina
Telerik team
 answered on 25 Nov 2010
3 answers
79 views
Dear all 

I have found a issue that  is no faster  when open a Radwindow in Chrome or Safari (the newest version)
but it's ok in IE.

the loading panel was visible too long.

Can anyone help me in that issue ? 

Best Regards
Georgi Tunev
Telerik team
 answered on 25 Nov 2010
1 answer
37 views
Hi there,

Loving the suite ... we recently purchased one of the collections.

I've had a question from one of the end users of our Intranet, which uses the RadEditor to allow them to create pages.

Everything has been going well so far, however they are wondering if there is a way for them to create "hover" classes for elements (such as images). Is there already an in-built way to do this? Does a "code snippet" sound like the best way? I've had a look around and a code snippet seems best, however the preferred solution is having a "hover image" property somewhere that lets them specify an image to change to when the current image is hovered over.

Regards,

RSPCA Victoria
Dobromir
Telerik team
 answered on 25 Nov 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?