Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
136 views
I need to click the "+" sign to open a Child grid, but my user doesn't want the "+" sign on the very left of the grid, they want at the middle of the grid in a column before the file status, when click the "+" sign to open another grid to see a list of files.

Then I think i need to put an image which has the "+" sign the the colum, when click the "+" sign, open the child grid to see the list of files. How to click the button to open a the child grid? How there are any other ways to do this? Do you have an example for it?

Thanks
Jayesh Goyani
Top achievements
Rank 2
 answered on 15 Jul 2011
2 answers
293 views
I have setup an application according to this demo:
http://demos.telerik.com/aspnet-ajax/grid/examples/hierarchy/selfreferencing/defaultcs.aspx

Now i am facing a problem. 
I dont know how to fetch the DataKey from my mastertableview (parent item).

My Grid looks like:
-Parent A
    -Child A
    -Child B
-Parent B

In the nestedtableview under Parent A (holding Child A and Child B) i hit the new button thats in the command item template, and want to insert Child C. Now i dont know how to get the DataKeyValue from Parent A, so that i can set the correct relation in my code behind insert method.

Hope you guys can help me.

Update:
Some pseudo code for further explanation:
protected void paGrid_Insert(object source, GridCommandEventArgs e)
{
    string parentID = e.Item.ParentItem.DataKeyValues["PARENT_ID"];
    //SQL Insert Statement with the parentID to set Relation ...
}

SomeName
Top achievements
Rank 1
 answered on 15 Jul 2011
1 answer
176 views
Hi Guys,

I'm using a RadGrid to show the results of a phone book on my company's website. I can load the information just fine, however the paging is just not right. I give the users the ability to search for a name and/or they can choose from a dropdown for the department or location. Initially the page loads just fine and if there is more than 20 results for their query the paging shows as it should. When I go to the next page in the paging, I get an empty grid.

The grid is connected to an SqlDataSource (as with the 2 dropdowns) and on the submit button, I dynamically change the SqlDataSource to whatever the user wants to search on.

Any help will be greatly appreciated!

William
Shinu
Top achievements
Rank 2
 answered on 15 Jul 2011
1 answer
91 views
Hi,

I am trying to implement the server side ExportToExcel/pdf/csv functions.
When export option is selected Open is not seen on the window. Only Save and Cancel are seen.

I have the ExportSettings.OpenInNewWindow set to true.

Could you please help me out.

Thanks,
Ashwini
Shinu
Top achievements
Rank 2
 answered on 15 Jul 2011
1 answer
187 views
I have a list of collection list1, in this list, there are one items has sub list of collection (list2, list2 is inside list1).
Can I bind the grid to list1 and auto populate the child grid as list2?

Thanks
Princy
Top achievements
Rank 2
 answered on 15 Jul 2011
6 answers
212 views
hi,

i have a grid inside the radwindow.does anyone has example how can i pick selected row value from it and assign it to main page?
Princy
Top achievements
Rank 2
 answered on 15 Jul 2011
2 answers
129 views
I am trying to adapt the AdvancedForm Scheduler example to leverage the ObjectDataSource. However, it appears I am having problems with the parameter names on insert.

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="DeleteAppointment"
    InsertMethod="InsertAppointment" SelectMethod="AllData" TypeName="Tradewind.Core.AppointmentList"
    UpdateMethod="UpdateAppointment">
    <DeleteParameters>
        <asp:Parameter Name="ID" Type="String" />
    </DeleteParameters>
    <UpdateParameters> <!-- Ignore - Trying to get Insert Only working right now -->
        <asp:Parameter Name="ID" Type="String" />
        <asp:Parameter Name="Subject" Type="String" />
        <asp:Parameter Name="Start" Type="DateTime" />
        <asp:Parameter Name="End" Type="DateTime" />
        <asp:Parameter Name="RecurrenceRule" Type="String" />
        <asp:Parameter Name="RecurrenceParentID" Type="Object" />
        <asp:Parameter Name="RecurrenceState" Type="Object" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="Subject" Type="String" />
        <asp:Parameter Name="Start" Type="DateTime" />
        <asp:Parameter Name="End" Type="DateTime" />
        <asp:Parameter Name="Description" Type="String" />
        <asp:Parameter Name="Reminder" Type="Object" />
        <asp:Parameter Name="UserID" Type="Object" />
        <asp:Parameter Name="RoomID" Type="Object" />
        <asp:Parameter Name="RecurrenceRule" Type="String" />
        <asp:Parameter Name="RecurrenceParentID" Type="Object" />
        <asp:Parameter Name="RecurrenceRuleText" Type="String" />
        <asp:Parameter Name="RecurrenceState" Type="Object" />
    </InsertParameters>
</asp:ObjectDataSource>
<div class="exampleContainer">
    <telerik:RadScheduler runat="server" ID="RadScheduler1" Width="750px"
        DataEndField="End" DataKeyField="ID"
        DataRecurrenceField="RecurrenceRule"
        DataRecurrenceParentKeyField="RecurrenceParentID"
        DataSourceID="ObjectDataSource1"
        DataStartField="Start"
        DataSubjectField="Subject"
        SelectedDate="2007-03-30" TimeZoneOffset="03:00:00"
        OnDataBound="RadScheduler1_DataBound" AppointmentStyleMode="Default"
        OnAppointmentCreated="RadScheduler1_AppointmentCreated"
        OnAppointmentDataBound="RadScheduler1_AppointmentDataBound"
        OnClientFormCreated="schedulerFormCreated"
        EnableDescriptionField="true">
        <AdvancedForm Modal="true" />
        <Reminders Enabled="true" />
        <AppointmentTemplate>
            <div class="rsAptSubject">
                <%# Eval("Subject") %>
            </div>
            <%# Eval("Description") %>
        </AppointmentTemplate>
        <AdvancedEditTemplate>
            <scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit"
                Subject='<%# Bind("Subject") %>'
                Description='<%# Bind("Description") %>'
                Start='<%# Bind("Start") %>'
                End='<%# Bind("End") %>'
                RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
                Reminder='<%# Bind("Reminder") %>'
                UserID='<%# Bind("User") %>'
                RoomID='<%# Bind("Room") %>' />
        </AdvancedEditTemplate>
        <AdvancedInsertTemplate>
            <scheduler:AdvancedForm runat="server" ID="AdvancedInsertForm1" Mode="Insert"
                Subject='<%# Bind("Subject") %>'
                Start='<%# Bind("Start") %>'
                End='<%# Bind("End") %>'
                Description='<%# Bind("Description") %>'
                RecurrenceRuleText='<%# Bind("RecurrenceRule") %>'
                Reminder='<%# Bind("Reminder") %>' 
                UserID='<%# Bind("User") %>'
                RoomID='<%# Bind("Room") %>' />
        </AdvancedInsertTemplate>
        <TimelineView UserSelectable="false" />
        <TimeSlotContextMenuSettings EnableDefault="true" />
        <AppointmentContextMenuSettings EnableDefault="true" />                
    </telerik:RadScheduler>

My Object which this is bound to "Tradewind.Core.AppointmentList" looks like the following.

public static void InsertAppointment(
    string Subject, DateTime Start, DateTime End, string Description,
    Object UserID, Object RoomID, string RecurrenceRule, Object RecurrenceParentID, string RecurrenceRuleText, Telerik.Web.UI.RecurrenceState RecurrenceState)
{
    List<AppointmentInfo> sessApts = AllData();
    AppointmentInfo ai = new AppointmentInfo(Subject, Start, End);
    ai.RecurrenceRule = RecurrenceRule;
    ai.RecurrenceParentID = RecurrenceParentID;
    ai.RecurrenceState = RecurrenceState;
    sessApts.Add(ai);
}

This worked fine for the basic example, but gets more complex with the AdvancedForm and new resources. I know this has something to do with my ObjectDataSource not having the correct parameters as I get the following error.

bjectDataSource 'ObjectDataSource1' could not find a non-generic method 'InsertAppointment' that has parameters: Subject, Start, End, Description, Reminder, UserID, RoomID, RecurrenceRule, RecurrenceParentID, RecurrenceRuleText, RecurrenceState, .
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
 
Exception Details: System.InvalidOperationException: ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'InsertAppointment' that has parameters: Subject, Start, End, Description, Reminder, UserID, RoomID, RecurrenceRule, RecurrenceParentID, RecurrenceRuleText, RecurrenceState, .
 
Source Error:
 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
 
Stack Trace:
 
[InvalidOperationException: ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'InsertAppointment' that has parameters: Subject, Start, End, Description, Reminder, UserID, RoomID, RecurrenceRule, RecurrenceParentID, RecurrenceRuleText, RecurrenceState, .]
   Telerik.Web.UI.Scheduling.DataSourceViewSchedulerProvider.OnDataSourceOperationComplete(Int32 count, Exception e) +39
   System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) +80
   Telerik.Web.UI.Scheduling.DataSourceViewSchedulerProvider.Insert(RadScheduler owner, Appointment appointmentToInsert) +184
   Telerik.Web.UI.SchedulerProviderBase.Insert(ISchedulerInfo schedulerInfo, Appointment appointmentToInsert) +62
   Telerik.Web.UI.Scheduling.AppointmentController.InsertAppointmentThroughProvider(ISchedulerInfo schedulerInfo, Appointment appointment) +101
   Telerik.Web.UI.Scheduling.AppointmentController.InsertAppointment(ISchedulerInfo schedulerInfo, Appointment appointment) +40
   Telerik.Web.UI.RadScheduler.InsertAppointmentInline() +282
   Telerik.Web.UI.RadScheduler.OnBubbleEvent(Object source, EventArgs args) +483
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +125
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +169
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +9
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +176
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

Any help on where I can find a collection or something of the proper parameters, or a better suggestion on how to do this would be welcome.

Many thanks.
Kojo
Top achievements
Rank 1
 answered on 15 Jul 2011
0 answers
96 views
Hi all,

My RadGrid Column uses DateTime Type which doesn't have "Contains" in the Filter Option List.
Could I add it manually?

Thanks.

Andy
Andy
Top achievements
Rank 1
 asked on 15 Jul 2011
2 answers
132 views
I have a multi-page radgrid that allows the user to select a singe record.  I persist that selection in a session variable while they go do other things on other pages.

Is there a way for me to load the grid (when  they return) and have it load the grid-page that contains their selected row?  I assume I can cause it to be selected during a server-side event but am not sure how I can control which page the grid shows or be sure that it is going to contain the saved selected item.

Advice?

Thanks.

Mike
Mike
Top achievements
Rank 1
 answered on 14 Jul 2011
1 answer
166 views
I'm guessing that my problem is because of a limitation i found here client side binding specifics :"Data editing and grid editors. Since the control is bound on the client, and no subsequent trips are made to the server, the default editors cannot be rendered, and shown, which is the standard behavior, when the grid is bound on the server."  So I assume I'll need to add an external edit form as suggested. Please let me know if that is the case, or if I'm simply missing something below.

I have a radgrid with a number of gridtemplatecolumns, most of which contain radtextboxes, radnumerictextboxes and radcomboboxes that the user can edit at any time, without setting individual columns in edit mode. This all worked well using server side binding, but was slow (my customer needs to be able to add and save new rows in about 1 second or less, partial postbacks are taking ~4 seconds).
I am now attempting to get client side binding to work, and have hit a roadblock while trying to add a new row on the client side. I see that a new row is added below my other rows, but only the GridClientSelectColumn's checkbox on the leftmost column is displayed on the new row, all the template columns with textboxes and comboboxes are blank, not just empty controls, the controls aren't in the new column at all.


I call AddNewRow() to add a row, getValues() is a js function which supplies the default values for the new row, and InsertRowToDataSource() webservice returns a JSON string of the current grid data plus one new row with default values (e.g. [{id:"123", RoomName:"x"}, {id:"456", RoomName:"y"}]  ) and finally, on rowdatabound, RadGrid1_RowDataBound(...) is called so i can set values on my template controls. However, my template controls appear to not exist on the new row.
       
function AddNewRow()
        {
            wsLookup.InsertRowToDataSource(getValues(), updateGrid);
            return false;
        }
         
        function updateGrid(result)
        {
            var ds = eval(result);
            var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView();
            tableView.set_dataSource(ds);
            tableView.dataBind();
        }
        function RadGrid1_RowDataBound(sender, args)
        {
            var room = args.get_item().findControl("rtbRoom");  // var room is null on the new row
            room.set_value(args.get_dataItem()["RoomName"]);
        }

and here is my radgrid (with some columns omitted):
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSourceAudit" EnableAJAX="True" EnableOutsideScripts="True"
     AutoGenerateColumns="False" GridLines="None" Width="100%" Height = "100%" PageSize="8" Skin="Office2007" ShowStatusBar="True" OnItemDataBound="RadGrid1_ItemDataBound" >
         <MasterTableView DataSourceID="SqlDataSourceAudit" CommandItemDisplay="Top" ClientDataKeyNames="AuditEntryID">
             <CommandItemSettings ExportToPdfText="Export to Pdf" />
             <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
             </RowIndicatorColumn>
             <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
             </ExpandCollapseColumn>
             <Columns>
                <telerik:GridClientSelectColumn Visible="true" HeaderStyle-Width="35px" UniqueName="ClientSelectColumn" HeaderText="Edit" ButtonType="ImageButton" Text="Edit" ImageUrl="~/images/16/pen_16.png" />
                 <telerik:GridTemplateColumn HeaderText="Sort" UniqueName="Sort" FilterControlAltText="Filter Sort column" Display = "false">  
                  <ItemTemplate
                      <telerik:RadNumericTextBox ID="rnSort" runat="server" Width = "100%" DataType="System.Int32" MinValue="0">
                          <NumberFormat DecimalDigits="0" />
                      </telerik:RadNumericTextBox>
                  </ItemTemplate>
                     <HeaderStyle Width="40px" />
                </telerik:GridTemplateColumn>
                 <telerik:GridTemplateColumn HeaderText="Building" UniqueName="Building" FilterControlAltText="Filter Building column">  
                  <ItemTemplate>
                      <telerik:RadComboBox ID="rcbBuilding" runat="server" AllowCustomText="True" Filter="Contains" Width="100%">
                      </telerik:RadComboBox>
                  </ItemTemplate
                     <HeaderStyle Width="100px" />
                </telerik:GridTemplateColumn>
                 <telerik:GridTemplateColumn HeaderText="Area" UniqueName="Area" FilterControlAltText="Filter Area column">  
                  <ItemTemplate
                      <telerik:RadTextBox ID="rtbRoom" runat="server" Width="100%" ToolTip="The area or room in the building">
                      </telerik:RadTextBox>
                  </ItemTemplate
                     <HeaderStyle Width="100px" />
                </telerik:GridTemplateColumn>
                  
                <telerik:GridButtonColumn ConfirmText="Delete this audit entry?" ConfirmDialogType="RadWindow"
                  ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
                  UniqueName="DeleteColumn" ImageUrl="~/images/16/remove_16.png" FilterControlAltText="Filter DeleteColumn column">
                  <ItemStyle HorizontalAlign="Center"/>
                  <HeaderStyle Width="25px" />
                </telerik:GridButtonColumn>
             </Columns>
             <EditFormSettings>
                 <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                 </EditColumn>
             </EditFormSettings>
             <CommandItemTemplate>
                 <table>
                  <tr>
                    <td align="left">
                     <asp:ImageButton ID="btnAdd"
                       CommandName="Insert" Runat="server" ImageUrl = "~/images/16/add_16.png"
                       tooltip="Add new audit line" ></asp:ImageButton>
                     <asp:ImageButton ID="btnSave"
                      CommandName="Save" Runat="server" ImageUrl = "~/images/16/ok_16.png"
                      tooltip="Save all grid changes"></asp:ImageButton>
                    </td>
                    <td align="right">
                     <asp:ImageButton ID="btnRefresh"
                      CommandName="Cancel" Runat="server" ImageUrl="~/images/16/refresh_16.png"
                      tooltip="Refresh grid"></asp:ImageButton>
                    </td>
                  </tr>
                 </table>
            </CommandItemTemplate>
         </MasterTableView>
         <FilterMenu EnableImageSprites="False">
         </FilterMenu>
         <ClientSettings>
             <Selecting AllowRowSelect="True" />
             <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True">
             </Scrolling>
             <Resizing AllowColumnResize="True" />
             <ClientEvents OnRowSelected="RadGrid1_ItemSelected" OnCommand="RadGrid1_Command" OnRowDataBound="RadGrid1_RowDataBound" />
         </ClientSettings>
         <PagerStyle Mode="Slider" />
         <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Office2007">
         </HeaderContextMenu>
     </telerik:RadGrid>
Brett
Top achievements
Rank 1
 answered on 14 Jul 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?