<
EventOn:EventManagerGridTemplateColumn
DataField
=
"StatusType"
UniqueName
=
"StatusType"
InterfaceMessageType
=
"EventManagerGridHeaderStatusType"
SortExpression
=
"StatusType"
>
<
HeaderStyle
Width
=
"70px"
/>
<
FilterTemplate
>
<
EventOn:EventManagerTypeFilterDropDown
ID
=
"ddStatusType"
runat
=
"server"
EnumType
=
"StatusType"
CssClass
=
"FormDropDown"
Width
=
"70px"
DataValueField
=
"StatusType"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("StatusType").CurrentFilterValue %>'
OnClientSelectedIndexChanged="StatusTypeIndexChanged"/>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function StatusTypeIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("StatusType", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
ItemStyle
Width
=
"50px"
HorizontalAlign
=
"Left"
VerticalAlign
=
"Top"
></
ItemStyle
>
<
ItemTemplate
>
<
EventOn:EventManagerTypeIcon
ID
=
"EventOnTypeIcon3"
runat
=
"server"
Value='<%# Eval("StatusType")%>'></
EventOn:EventManagerTypeIcon
>
</
ItemTemplate
>
</
EventOn:EventManagerGridTemplateColumn
>
Runtime-fout Microsoft JScript: Sys.WebForms.PageRequestManagerServerErrorException: Neither of the types 'String' and 'StatusType' converts to the other
function
ProcessToolTipAction(action, ID)
{
if
(action ==
"<%= GlobalConstants.CommandName.REQUESTINVITE %>"
)
{
var
wnd = $find(
'<%=winInviteSelf.ClientID %>'
);
wnd.add_close(
function
(sender, e)
{
var
args = e.get_argument();
if
(IsDialogResultOK(args))
{
AjaxRequestObject = GetAjaxRequestObject(action,
"<%=this.GetType().ToString()%>"
);
AjaxRequestObject.AppointmentId = ID;
AjaxRequestObject.HideInvite = args.HideInvite;
AjaxRequestObject.SpecialNotes = args.SpecialNotes;
AjaxRequestJson(AjaxRequestObject);
}
});
wnd.show();
}
}
HtmlGenericControl contentDiv = new HtmlGenericControl(
"div"
);
contentDiv.Style.Add(
"width"
,
"100%"
);
contentDiv.Style.Add(
"height"
,
"100%"
);
RadPane pane2 =
new
RadPane();
pane2.ID =
"Pane2"
;
pane2.Height =
new
Unit(100, UnitType.Percentage);
pane2.Width =
new
Unit(100, UnitType.Percentage);
pane2.Controls.Add(contentDiv);
<
div
id
=
"RAD_SPLITTER_PANE_CONTENT_Pane2"
style
=
"overflow-x: auto; overflow-y: auto; height: 598px; width: 1210px; "
>
<
div
id
=
"ContentPanel1Panel"
style
=
"display: block; "
>
<
div
id
=
"ContentPanel1"
style
=
"width:100%;height:100%;"
></
div
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
<
FormTemplate
>
<
asp:Panel
ID
=
"pnlZForm"
runat
=
"server"
>
<
div
id
=
"divZEdit"
>
<
asp:Label
ID
=
"lblMerchantCode"
Width
=
"150px"
runat
=
"server"
Text
=
"Merchant Code:"
/>
<
telerik:RadTextBox
ID
=
"rtxtMerchantCode"
Runat
=
"server"
Width
=
"150px"
/>
<
br
/>
<
asp:Label
ID
=
"lblAccountName"
Width
=
"150px"
runat
=
"server"
Text
=
"Account Name:"
/>
<
telerik:RadTextBox
ID
=
"rtxtAccountName"
Runat
=
"server"
Width
=
"150px"
/>
<
br
/>
<
asp:Label
ID
=
"lblSharedSecret"
Width
=
"150px"
runat
=
"server"
Text
=
"Shared Secret:"
/>
<
telerik:RadTextBox
ID
=
"rtxtSharedSecret"
Runat
=
"server"
Width
=
"150px"
/>
<
br
/>
<
telerik:RadButton
ID
=
"btnUpdate"
runat
=
"server"
Text
=
"Update"
/>
<
telerik:RadButton
ID
=
"btnCancel"
runat
=
"server"
Text
=
"Cancel"
CommandName
=
"Cancel"
/>
</
div
>
</
asp:Panel
>
</
FormTemplate
>
</
EditFormSettings
>
Private
Sub
rgdNewRadGrid_DetailTableDataBind(
ByVal
source
As
Object
,
ByVal
e
As
GridDetailTableDataBindEventArgs)
Handles
rgdNewRadGrid.DetailTableDataBind
Dim
dataItem
As
GridDataItem =
CType
(e.DetailTableView.ParentItem, GridDataItem)
Select
Case
e.DetailTableView.Name
Case
"myDetailTable"
Dim
myTrackingGUID
As
Guid =
New
Guid(dataItem.Item(
"MerchantTrackingGUID"
).Text)
Dim
myDataSet
As
New
DataSet
'===Get the DetailTable data===
myDataSet = *get dataset from database*
e.DetailTableView.DataSource = myDataSet
e.DetailTableView.CommandItemDisplay = GridCommandItemDisplay.Top
e.DetailTableView.CommandItemSettings.AddNewRecordImageUrl =
"../Img/AddRecord.gif"
e.DetailTableView.CommandItemSettings.AddNewRecordText =
"Add New Details"
e.DetailTableView.CommandItemSettings.ShowRefreshButton =
False
e.DetailTableView.EditFormSettings.EditFormType = GridEditFormType.Template
e.DetailTableView.EditFormSettings.FormTemplate = LoadTemplate(
"Templates/myNewAdd.ascx"
)
End
Select
End
Sub
<%@ Control Language="VB" ClassName="myNewAdd" %>
<
asp:Panel
ID
=
"pnlNewForm"
runat
=
"server"
>
<
div
id
=
"divNewEdit"
>
<
asp:Label
ID
=
"lblTerminalUserGroupID"
Width
=
"150px"
runat
=
"server"
Text
=
"TerminalUserGroupID:"
/>
<
telerik:RadComboBox
ID
=
"rcbxTerminalUserGroupID"
Width
=
"200px"
runat
=
"server"
/>
<
br
/>
<
telerik:RadButton
ID
=
"btnDetailUpdate"
runat
=
"server"
Text
=
"Update"
/>
<
telerik:RadButton
ID
=
"btnDetailCancel"
runat
=
"server"
Text
=
"Cancel"
CommandName
=
"Cancel"
/>
</
div
>
</
asp:Panel
>
Protected
Sub
rgdNewRadGrid_ItemDataBound(
ByVal
sender
As
Object
,
ByVal
e
As
Telerik.Web.UI.GridItemEventArgs)
Handles
rgdNewRadGrid.ItemDataBound
If
e.Item.IsInEditMode
AndAlso
e.Item.OwnerTableView.Name =
"myDetailTable"
Then
Dim
editItem
As
GridEditFormItem = e.Item
Dim
rcbxTerminalUserGroupID
As
RadComboBox = editItem.FindControl(
"rcbxTerminalUserGroupID"
)
Dim
myDataSet
As
Data.DataSet
myDataSet = *get data from database*
For
Each
row
As
DataRow
In
myDataSet.Tables(0).Rows
Dim
myItem
As
New
RadComboBoxItem
myItem.Text = row.Item(
"NAME"
).ToString
If
Not
rcbxTerminalUserGroupID
Is
Nothing
Then
rcbxTerminalUserGroupID.Items.Add(myItem)
End
If
Next
End
If
End
Sub
Hi,
I have a page with the radgrid ,which is coded as below:
<telerik:RadGrid ID="rgSchool" ShowGroupPanel="false" ShowStatusBar="true" AllowCustomPaging="true"
RegisterWithScriptManager="true" runat="server" AutoGenerateColumns="False" AllowSorting="True"
GridLines="Vertical" OnSortCommand=" rgSchool _SortCommand" AllowMultiRowSelection="False"
AllowPaging="True" Skin="Vista" OnNeedDataSource=" rgSchool _NeedDataSource"
OnPageIndexChanged=" rgSchool _PageIndexChanged" OnPageSizeChanged=" rgSchool _PageSizeChanged"
OnItemDataBound=" rgSchool _ItemDataBound" OnGroupsChanging=" rgSchool _GroupChanging"
OnColumnHiding=" rgSchool _ColumnHidden">
<SortingSettings EnableSkinSortStyles="false" />
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true"></PagerStyle>
<MasterTableView Width="100%" DataKeyNames="SerialNumber, StudId,Status" ClientDataKeyNames="SerialNumber, StudId,Status"
AllowMultiColumnSorting="false" EnableHeaderContextMenu="true" AutoGenerateColumns="false"
TableLayout="auto">
<Columns>
<telerik:GridBoundColumn DataField="DateJoin" HeaderText="Date Of Joining" SortExpression="DateReceived"
Visible="true" DataFormatString="{0:MM/dd/yyyy}" />
<telerik:GridBoundColumn DataField="SerialNumber" HeaderText="Serial #" SortExpression="SerialNumber"
Visible="true" DataFormatString="{0:N0}" />
<telerik:GridBoundColumn DataField=" StudId " HeaderText="Student ID #" SortExpression=" StudId "
Visible="true" />
<telerik:GridBoundColumn DataField="Status" HeaderText="Status" SortExpression="Status"
Visible="true" />
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowColumnsReorder="true" ReorderColumnsOnClient="true" EnableRowHoverStyle="true">
<Scrolling AllowScroll="false" SaveScrollPosition="true" UseStaticHeaders="true" />
<Resizing AllowColumnResize="true" EnableRealTimeResize="false" ResizeGridOnColumnResize="false"
ClipCellContentOnResize="false" AllowResizeToFit="true" />
<Selecting AllowRowSelect="true" />
<ClientEvents OnRowDblClick="RowDblClick" OnRowSelected="RowSelected" OnRowContextMenu="onRowContextMenu"
OnColumnHidden=" rgSchoolColumnHidden" OnColumnShown=" rgSchoolColumnShown" />
</ClientSettings>
<HeaderContextMenu EnableScreenBoundaryDetection="true" EnableAutoScroll="true" />
</telerik:RadGrid>
So,the users can sort,Hide,Group the columns.The sorting of the column will be done in the SP itself,based on the column(header selected).So,From the SP though get the correctly sorted data(i.e., though the DataSource is updated correctly),the grid is not STILL NOT showing the correctly sorted data.Please find the related server side code below :
protected void rgSchool_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
try
{
ViewState["CurrentPageIndex"] = rgSchool.CurrentPageIndex + 1;
//Getting the sorted,......data through SP.and storing in response object.
IEnumerable<rgSchoolReadRecord> response = WCFObj.Read(out recordCount, request);
rgSchool.DataSource = null;
rgSchool.DataSource = response;//DataSorce is updating correctly
rgSchool.VirtualItemCount = recordCount;
rgSchool.CurrentPageIndex = request.PageIndex - 1;
WCFObj.Close();
//Set the current paging and sorting in View state
ViewState["CurrentPageIndex"] = request.PageIndex;
ViewState["PageSize"] = request.PageSize;
ViewState["CurrentSort"] = request.OrderBy;
ViewState["SortDescending"] = request.Desc;
ViewState["rgSchoolSearchRequestObjet"] = request;
ViewState["recordCount"] = recordCount;
}}