or
<
telerik:RadOrgChart
ID
=
"radOrgChart"
runat
=
"server"
GroupColumnCount
=
"4"
DisableDefaultImage
=
"true"
Skin
=
"Sitefinity"
>
<
RenderedFields
>
<
ItemFields
>
<
telerik:OrgChartRenderedField
DataField
=
"FullName"
/>
<
telerik:OrgChartRenderedField
DataField
=
"Title"
/>
<
telerik:OrgChartRenderedField
DataField
=
"ProfileLink"
/>
</
ItemFields
>
</
RenderedFields
>
</
telerik:RadOrgChart
>
//Table to define the nodes
DataTable nodeTable =
new
DataTable();
nodeTable.Columns.Add(
"ID"
);
nodeTable.Columns.Add(
"ManagerID"
);
//Table to hold the data for the items
DataTable itemsTable =
new
DataTable();
itemsTable.Columns.Add(
"NodeID"
);
itemsTable.Columns.Add(
"ID"
);
itemsTable.Columns.Add(
"FullName"
);
itemsTable.Columns.Add(
"Title"
);
itemsTable.Columns.Add(
"ProfileLink"
);
//Get Contacts Manager
var tmpCM = ContactMgr.GetContactByID(ContactToDisplay.ManagerID);
//Get Contacts Managers manager
var tmpCMM = ContactMgr.GetContactByID(tmpCM.ManagerID);
//Get Contacts Managers employees
var tmpCME = ContactMgr.GetEmployeesByManagerID(tmpCM.ID);
//Add the nodes to the nodesTable
nodeTable.Rows.Add(
new
string
[] {
"1"
,
null
});
nodeTable.Rows.Add(
new
string
[] {
"2"
,
"1"
});
nodeTable.Rows.Add(
new
string
[] {
"3"
,
"2"
});
//Add the details of the employees to the itemTable
itemsTable.Rows.Add(
new
string
[] {
"1"
, tmpCMM.ID.ToString(),
"<b>"
+ tmpCMM.FullName +
"</b>"
, tmpCMM.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpCMM.ID +
"'>View Details</a>"
});
itemsTable.Rows.Add(
new
string
[] {
"2"
, tmpCM.ID.ToString(),
"<b>"
+ tmpCM.FullName +
"</b>"
, tmpCM.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpCM.ID +
"'>View Details</a>"
});
foreach
(Directory_BO.Contact tmpC
in
tmpCME)
itemsTable.Rows.Add(
new
string
[] {
"3"
, tmpC.ID.ToString(),
"<b>"
+ tmpC.FullName +
"</b>"
, tmpC.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpC.ID +
"'>View Details</a>"
});
//Setup the relationships within the OrgChart
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataFieldID =
"ID"
;
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID =
"ManagerID"
;
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataSource = nodeTable;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID =
"NodeID"
;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID =
"ID"
;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataSource = itemsTable;
//Bind the OrgChart
radOrgChart.DataBind();
<
telerik:RadCodeBlock
ID
=
"RadCodeBlockBoleta"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function OpenDetail(cod1, cod2, action) {
var wnd = window.radopen('<%= ConfigurationManager.AppSettings["AppWeb"] %>Posicion/NewDetails.aspx?cti=' + cod1+ "&nb=" + cod2+ "&action=" + action, "DetailsPage");
wnd.set_modal(true);
wnd.set_autoSize(false);
wnd.setSize(1100, 380);
wnd.set_visibleStatusbar(false);
wnd.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move);
wnd.center();
return false;
}
</
script
>
</
telerik:RadCodeBlock
>
<
html
>
<
body
class
=
"BodyModal"
style
=
"background-color: #ebf4f7; position:relative; "
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:HiddenField
runat
=
"server"
ID
=
"opSalir"
Value
=
""
/>
<
asp:ToolkitScriptManager
ID
=
"ToolkitScriptManager1"
runat
=
"server"
>
</
asp:ToolkitScriptManager
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanelMessage"
runat
=
"server"
EnableEmbeddedScripts
=
"true"
>
</
telerik:RadAjaxPanel
>
<
div
style
=
"text-align: center; width: 100%"
>
<
div
style
=
"text-align: left; "
>
<
asp:ContentPlaceHolder
ID
=
"ContentPlaceHolder1"
runat
=
"server"
>
</
asp:ContentPlaceHolder
>
</
div
>
</
div
>
<
telerik:RadWindowManager
ID
=
"RadWindowManager1"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"rwConfirm"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Confirmación"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"true"
Modal
=
"true"
AutoSize
=
"true"
VisibleStatusbar
=
"false"
Behaviors
=
"Close"
VisibleTitlebar
=
"true"
KeepInScreenBounds
=
"True"
PreventClientCache
=
"true"
DestroyOnClose
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"UserListDialog"
runat
=
"server"
Title
=
"Editing record"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
/>
<
telerik:RadWindow
ID
=
"RadFavoritoCampo"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Campos"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"RadEmpresa"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Empresa"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"RadTest"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Test"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
</
form
>
</
body
>
</
html
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"server"
>
<
telerik:RadAjaxManager
runat
=
"server"
ID
=
"RadAjaxManager1"
></
telerik:RadAjaxManager
>
<
asp:Panel
runat
=
"server"
ID
=
"Panel1"
>
<
div
>
//SOME HTML with textboxes, labels, etc
<
asp:Button
ID
=
"BtnSave"
runat
=
"server"
Text
=
"Save"
Width
=
"100px"
style
=
"left:760px; top: 310px; position: absolute;"
CssClass
=
"cssBoton"
onclick
=
"BtnSave_Click"
/>
<
input
id
=
"BtnExit"
class
=
"cssBoton"
title
=
"Exit"
type
=
"button"
style
=
"left:870px; top: 310px; position: absolute;width: 100px"
value
=
"Exit"
onclick
=
"return BtnExit_onclick()"
/>
</
div
>
</
asp:Panel
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"WebBlue"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"BtnSave"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"Panel1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
</
asp:Content
>
I am facing a wierd issue. I am currently working on a project which develop usercontrol----> webpart---->deploy to sharepoint. There is one page using radgrid to display some information which has four filter columns, except the default buildin filter ,I also built my own filter fanction which implement the filter function by hitting the enter key.Everthing is fine when it runs in asp.net ,but when it was deployed to sharepoint site, the filter can work for the first two filters only.In the third filtering,the var grid=$find(gridid) return null. the code snippet as following:
<script type=
"text/javascript"
>
function doFilter(sender, eventArgs, gridId, uniqueName, curFunction) {
if
(eventArgs.keyCode == 13) {
eventArgs.cancelBubble =
true
;
eventArgs.returnValue =
false
;
if
(eventArgs.stopPropagation) {
eventArgs.stopPropagation();
eventArgs.preventDefault();
}
var masterTableView = $find(gridId).get_masterTableView();
var filterFun;
switch
(curFunction) {
case
'Contains'
:
filterFun = Telerik.Web.UI.GridFilterFunction.Contains;
break
;
case
'DoesNotContain'
:
filterFun = Telerik.Web.UI.GridFilterFunction.DoesNotContain;
break
;
case
'StartsWith'
:
filterFun = Telerik.Web.UI.GridFilterFunction.StartsWith;
break
;
case
'EndsWith'
:
filterFun = Telerik.Web.UI.GridFilterFunction.EndsWith;
break
;
case
'EqualTo'
:
filterFun = Telerik.Web.UI.GridFilterFunction.EqualTo;
break
;
case
'NotEqualTo'
:
filterFun = Telerik.Web.UI.GridFilterFunction.NotEqualTo;
break
;
case
'GreaterThan'
:
filterFun = Telerik.Web.UI.GridFilterFunction.GreaterThan;
break
;
case
'LessThan'
:
filterFun = Telerik.Web.UI.GridFilterFunction.LessThan;
break
;
case
'GreaterThanOrEqualTo'
:
filterFun = Telerik.Web.UI.GridFilterFunction.GreaterThanOrEqualTo;
break
;
case
'LessThanOrEqualTo'
:
filterFun = Telerik.Web.UI.GridFilterFunction.LessThanOrEqualTo;
break
;
case
'Between'
:
filterFun = Telerik.Web.UI.GridFilterFunction.Between;
break
;
case
'NotBetween'
:
filterFun = Telerik.Web.UI.GridFilterFunction.NotBetween;
break
;
case
'IsEmpty'
:
filterFun = Telerik.Web.UI.GridFilterFunction.IsEmpty;
break
;
case
'NotIsEmpty'
:
filterFun = Telerik.Web.UI.GridFilterFunction.NotIsEmpty;
break
;
case
'IsNull'
:
filterFun = Telerik.Web.UI.GridFilterFunction.IsNull;
break
;
case
'NotIsNull'
:
filterFun = Telerik.Web.UI.GridFilterFunction.NotIsNull;
break
;
default
:
filterFun = Telerik.Web.UI.GridFilterFunction.EqualTo;
}
if
(sender.value ==
""
)
filterFun = Telerik.Web.UI.GridFilterFunction.NoFilter;
if
(masterTableView !=
null
)
masterTableView.filter(uniqueName, sender.value, filterFun);
return
false
;
}
}
</script>
<telerik:RadGrid ID=
"RGrid_LocateAsset"
runat=
"server"
AutoGenerateColumns=
"False"
GridLines=
"None"
AllowFilteringByColumn=
"True"
AllowSorting=
"True"
Skin=
"Sunset"
AllowPaging=
"True"
EnableViewState=
"true"
OnNeedDataSource=
"RGridNeedDataSource"
>
<GroupingSettings CaseSensitive=
"False"
/>
<MasterTableView EnableColumnsViewState=
"true"
>
<CommandItemSettings ExportToPdfText=
"Export to Pdf"
></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText=
"Filter RowIndicator column"
>
<HeaderStyle Width=
"20px"
></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText=
"Filter ExpandColumn column"
>
<HeaderStyle Width=
"20px"
></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn AllowFiltering=
"False"
DataField=
"MakeModelName"
FilterControlAltText=
"Filter column column"
HeaderText=
"Model"
UniqueName=
"MakeModelName"
HeaderStyle-Width=
"75px"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn AllowFiltering=
"False"
DataField=
"AssetInstanceSerial"
FilterControlAltText=
"Filter column1 column"
HeaderText=
"Serial #"
UniqueName=
"AssetInstanceSerial"
HeaderStyle-Width=
"75px"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn AllowFiltering=
"False"
DataField=
"UDI"
FilterControlAltText=
"Filter column2 column"
HeaderText=
"UDI"
UniqueName=
"UDI"
>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn AllowFiltering=
"False"
DataField=
"RFIDTagNumber"
FilterControlAltText=
"Filter column7 column"
HeaderText=
"RFID Tag#"
UniqueName=
"RfidTagNumber"
HeaderStyle-Width=
"75px"
>
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn FilterControlAltText=
"Filter TemplateColumn3 column"
DataField=
"AssetStatus"
CurrentFilterFunction=
"EqualTo"
HeaderText=
"Status"
UniqueName=
"statusname"
>
<ItemTemplate>
<div id=
"GridColumn"
>
<%# (
string
.IsNullOrEmpty(Eval(
"AssetStatus"
).ToString()) ?
"Asset Status not available"
: Eval(
"AssetStatus"
))%>
</div>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn FilterControlAltText=
"Filter TemplateColumn2 column"
DataField=
"floorname"
CurrentFilterFunction=
"EqualTo"
HeaderText=
"Floor"
UniqueName=
"FloorName"
>
<ItemTemplate>
<div id=
"GridColumn"
>
<%# (
string
.IsNullOrEmpty(Eval(
"FloorName"
).ToString()) ?
"Location not available"
: Eval(
"FloorName"
))%>
</div>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn FilterControlAltText=
"Filter TemplateColumn column"
HeaderText=
"Unit"
DataField=
"UnitName"
CurrentFilterFunction=
"EqualTo"
UniqueName=
"UnitName"
>
<ItemTemplate>
<div id=
"GridColumn"
>
<%# (
string
.IsNullOrEmpty(Eval(
"UnitName"
).ToString()) ?
"Location not available"
: String.Format(@
"<a href='"
+ FloorPlanURL +
"?TagID={0}&HospitalSite={1}&selectedAssetKeys={3}' >{2}</a>"
, Eval(
"RFIDTagNumber"
).ToString(), Eval(
"HospitalGlnId"
).ToString(), Eval(
"UnitName"
).ToString(), AssetIDS))%>
</div>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn FilterControlAltText=
"Filter TemplateColumn1 column"
DataField=
"RoomName"
CurrentFilterFunction=
"EqualTo"
HeaderText=
"Room"
UniqueName=
"RoomName"
>
<ItemTemplate>
<div id=
"GridColumn"
>
<%# (
string
.IsNullOrEmpty(Eval(
"RoomName"
).ToString()) ?
"Location not available"
: Eval(
"RoomName"
))%>
</div>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText=
"Filter EditCommandColumn column"
>
</EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites=
"False"
>
</FilterMenu>
<HeaderContextMenu CssClass=
"GridContextMenu GridContextMenu_Default"
>
</HeaderContextMenu>
</telerik:RadGrid>
//code behide
protected
void
RGridNeedDataSource(
object
source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
GetURLParamete();
string
currentHospitalGLNID = GetPersistedObject(PersistentObjectType.HospitalGLNID).ToString();
EntityCollection<AssetLocationViewEntity> assetLocationView= LocateAssetPresenter.GetAllAssetLocation(currentHospitalGLNID, assetIDs, filterName, filterValue);
RGrid_LocateAsset.DataSource = assetLocationView;
RGrid_LocateAsset.ItemCreated +=
new
GridItemEventHandler(RGrid_LocateAsset_ItemCreated);
}
protected
void
RGrid_LocateAsset_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridFilteringItem)
{
GridFilteringItem fltItem = e.Item
as
GridFilteringItem;
foreach
(GridColumn column
in
RGrid_LocateAsset.Columns)
{
//Filter out non-data or non-filter columns
if
(column.ColumnType ==
"GridTemplateColumn"
)
{
GridTemplateColumn bndcol = (GridTemplateColumn)column;
if
(bndcol.AllowFiltering ==
true
)
{
TextBox txtbox = fltItem[column.UniqueName].Controls[0]
as
TextBox;
var currentFilter = column.CurrentFilterFunction;
if
(txtbox !=
null
)
txtbox.Attributes.Add(
"onkeydown"
, String.Format(
"doFilter(this, event, \"{0}\", \"{1}\", \"{2}\");"
, RGrid_LocateAsset.ClientID, column.UniqueName, currentFilter));
}
}
}
}
}