<
telerik:RadContextMenu
ID
=
"grdContextMenu"
runat
=
"server"
EnableRoundedCorners
=
"true"
EnableShadows
=
"true"
OnClientItemPopulating
=
"FetchUserList_Pre"
EnableAutoScroll
=
"true"
OnClientItemPopulationFailed
=
"ServiceFailure"
>
<
WebServiceSettings
Path
=
"../Services/TimeSchedule.asmx"
Method
=
"FetchUserList"
/>
<
LoadingStatusTemplate
>
<
div
style
=
"padding-top:100px;text-align:right;width:120px;float:left;"
>
<
asp:Image
runat
=
"server"
ID
=
"LoadingImage"
ImageUrl
=
"../Images/Working.gif"
ToolTip
=
"Loading..."
Width
=
"50px"
Height
=
"50px"
/>
<
br
/>
Loading Users...
</
span
>
</
LoadingStatusTemplate
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Add"
ToolTip
=
"Add a new record"
/>
<
telerik:RadMenuItem
Text
=
"Delete"
ToolTip
=
"Delete this record"
/>
<
telerik:RadMenuItem
Text
=
"Copy To Day"
ToolTip
=
"Copy this shift to the selected day"
GroupSettings-Height
=
"165"
GroupSettings-ExpandDirection
=
"Auto"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Sunday"
Value
=
"Sunday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Monday"
Value
=
"Monday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Tuesday"
Value
=
"Tuesday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Wednesday"
Value
=
"Wednesday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Thursday"
Value
=
"Thursday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Friday"
Value
=
"Friday"
></
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Saturday"
Value
=
"Saturday"
></
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Copy Shift (Open)"
ToolTip
=
"Copy this shift as open or to another user"
GroupSettings-Height
=
"250"
GroupSettings-Width
=
"200"
GroupSettings-ExpandDirection
=
"Auto"
ExpandMode
=
"WebService"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadContextMenu
>
<
telerik:RadAjaxManager
ID
=
"ajaxManager"
runat
=
"server"
DefaultLoadingPanelID
=
"RadAjaxLoadingPanel1"
onajaxrequest
=
"ajaxManager_AjaxRequest"
UpdatePanelsRenderMode
=
"Inline"
>
<
ClientEvents
OnRequestStart
=
"centerLoadingPanel"
></
ClientEvents
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"ajaxManager"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"infoBar"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"errorPanel"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"contentScreenPanel"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"tabStrip"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadMultiPage1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"errorPanel"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"errorLabel"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"editMode"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"infoBar"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"screenOverviewPanel"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"toolBarPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"ToolBarControl1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"contentScreenPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"screenOverviewPanel"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblScreenTitle"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadPane
runat
=
"Server"
ID
=
"lowerContentPane"
Scrolling
=
"Both"
Width
=
"100%"
Height
=
"542"
>
<
asp:Panel
ID
=
"errorPanel"
runat
=
"server"
>
<
asp:Label
ID
=
"errorLabel"
ForeColor
=
"Red"
runat
=
"server"
></
asp:Label
>
<
asp:HiddenField
runat
=
"server"
ID
=
"editMode"
/>
</
asp:Panel
>
<
asp:Panel
ID
=
"contentScreenPanel"
runat
=
"server"
></
asp:Panel
>
</
telerik:RadPane
>
public
Dictionary<
string
,
object
> GetAllUsersGrid(
int
startRowIndex,
int
maximumRows, List<GridSortExpression> sortExpression, List<GridFilterExpression> filterExpression)
Hello.
I use RadGrid and ObjectDataSource (ods) to fill the grid with data.
I used to make insert, update and delete from code behind (using RadGrid events: UpdateCommand, DeleteCommand , etc) - so, i used to create my objects using FindControl(string id) and then manipulate with them.
Now, I decide to do this using ods, but i cannot work it out while i have nested objects.
(in case of single object it works fine - i mean if i Insert, Update or Delete only Person class - see below)
Here is my example:
class User{ class Person{
int ID int ID;
int PersonID; string FirstName;
string UserName; string LastName;
} }
My ods methods are:
SelectMethod: iList<
User
> GetUsers();
InsertMethod, UpdateMethod: void SaveUser(User u);
DeleteMethod: void DeleteUser(User u);
In my EditFormTemplate i bind these like this (binding works fine):
<
telerik:RadTextBox
ID
=
"txtUserName"
runat
=
"server"
Text='<%# Bind("UserName") %>'/>
<
telerik:RadTextBox
ID
=
"txtFirstName"
runat
=
"server"
Text= '<%# DataBinder.Eval(Container.DataItem, "Person.FirstName") %>' />
<
telerik:RadTextBox
ID
=
"txtLastName"
runat
=
"server"
Text= '<%# DataBinder.Eval(Container.DataItem, "Person.LastName") %>' />
So, when i am trying to update user object, updates only UserName, update does not cause to FirstName and LastName (User.Person properties). I guess ods cannot recognize them at all...
Is there any solution for this?
Or is there any alternative way to act situations lake this?
P.S. the same problem is when i use LinqDataSource
thanks.