<
asp:ObjectDataSource
runat
=
"server"
ID
=
"OrderAdminOrderDataSource"
EnablePaging
=
"false"
SelectMethod
=
"GetAllOrdersByCountryISO2Code"
TypeName
=
"Organo.Web.Application.Facades.OrderAdminFacade"
DataObjectTypeName
=
"Organo.Web.Domain.Model.Entities.Order"
>
<
SelectParameters
>
<
asp:Parameter
Name
=
"countryISO2Code"
/>
<
asp:Parameter
Name
=
"orderStatusFilterLevel"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
protected
void
OrderAdminGrid_OnNeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
OrderAdminGrid.VirtualItemCount =
OrderAdminFacadeInstance.GetSelectRowCount(CountryDropDown.SelectedItem.Text,
HttpContext.Current.Items[
"OrderStatusFilterLevel"
].ToString());
var startRow = (ShouldApplySortFilterOrGroup())
? 0
: OrderAdminGrid.CurrentPageIndex*OrderAdminGrid.PageSize;
var maxRows = (ShouldApplySortFilterOrGroup())
? OrderAdminGrid.VirtualItemCount
: OrderAdminGrid.PageSize;
OrderAdminGrid.AllowCustomPaging = !ShouldApplySortFilterOrGroup();
OrderAdminGrid.DataSource =
OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text
, HttpContext.Current.Items[
"OrderStatusFilterLevel"
].ToString(), startRow,
maxRows);
}
protected
void
OrderAdminGrid_OnNeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
//var filterexpression = OrderAdminGrid.MasterTableView.FilterExpression;
OrderAdminGrid.VirtualItemCount =
OrderAdminFacadeInstance.GetSelectRowCount(CountryDropDown.SelectedItem.Text,
HttpContext.Current.Items[
"OrderStatusFilterLevel"
].ToString());
var startRow = (ShouldApplySortFilterOrGroup())
? 0
: OrderAdminGrid.CurrentPageIndex*OrderAdminGrid.PageSize;
var maxRows = (ShouldApplySortFilterOrGroup())
? OrderAdminGrid.VirtualItemCount
: OrderAdminGrid.PageSize;
OrderAdminGrid.AllowCustomPaging = !ShouldApplySortFilterOrGroup();
OrderAdminGrid.DataSource =
OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text
, HttpContext.Current.Items[
"OrderStatusFilterLevel"
].ToString(), startRow,
maxRows);
//OrderAdminGrid.DataSource = OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text,
// HttpContext.Current.Items["OrderStatusFilterLevel"].ToString());
}
public
IQueryable<Order> GetAllOrdersByCountryISO2Code(
string
countryISO2Code,
string
orderStatusFilterLevel,
int
startRow,
int
pageSize)
{
var orders = countryISO2Code ==
"All"
? _orderRepository.GetAllFilteredByOrderStatus(GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)))
.OrderByDescending(n => n.OrderDate).Skip(startRow).Take(pageSize)
: _orderRepository.GetAllFilteredByOrderStatus(GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)), countryISO2Code)
.OrderByDescending(n => n.OrderDate).Skip(startRow).Take(pageSize);
return
orders;
}
public
int
GetSelectRowCount(
string
countryISO2Code,
string
orderStatusFilterLevel)
{
var orders = countryISO2Code ==
"All"
? _orderRepository.GetAllFilteredByOrderStatus(
GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)))
.OrderByDescending(n => n.OrderDate)
: _orderRepository.GetAllFilteredByOrderStatus(
GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)), countryISO2Code)
.OrderByDescending(n => n.OrderDate);
return
orders.Count();
}
and finally this method filters out the records based on whether they are in the filter list or not.
public
IQueryable<Order> GetAllFilteredByOrderStatus(List<
int
?> filter,
string
countryISO2Code)
{
int
monthlyOrder = Convert.ToInt16(Enums.OrderType.MonthlyOrder);
return
this
.FindAsQuery(
x =>
x.OrderType.OrderTypeId != monthlyOrder &&
x.ShippingAddress.Country.CountryISO2Code == countryISO2Code &&
filter.Contains(x.OrderStatusId));
}
set the GroupingSettings.RetainGroupFooterVisibility property to true.
<
telerik:RadGrid
ID
=
"RadGridRMEmployee"
runat
=
"server"
AllowMultiRowSelection
=
"True"
OnNeedDataSource
=
"RadGridRMEmployee_NeedDataSource"
onprerender
=
"RadGridRMEmployee_PreRender"
>
<
ClientSettings
Selecting-AllowRowSelect
=
"true"
AllowDragToGroup
=
"True"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"True"
UseClientSelectColumnOnly
=
"True"
></
Selecting
>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"EmployeeIDl"
>
<
Columns
>
<
telerik:GridClientSelectColumn
UniqueName
=
"ClientSelectColumn"
/>
</
Columns
>
<
PagerStyle
AlwaysVisible
=
"True"
></
PagerStyle
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected void btnSaveTask_Click(object sender, EventArgs e)
{
bool check;
foreach (GridDataItem item in RadGridRMEmployee.SelectedItems)
{
CheckBox chk = (CheckBox)item["ClientSelectColumn"].Controls[0];
string EmployeeID = item["EmployeeID"].Text;
//HOW TO GET THESE 3 VALUES
string EmployeeName = item["EmployeeName"].Text;
string EmployeeType = item["EmployeeType"].Text;
string EmployeeEmail = item["EmployeeEmail"].Text;
}
}
Sharepoint PeopleEditor control is not rendering properly if it is placed within the RadTabStripà RadTab controls (see sample screenshot from this link). We checked it within FireFox fire bug as you can see below the control type is set to hidden. Is there something that we need to set in the attributes of the Rad controls?
Rendered in FireFox
<input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_hiddenSpanData" type="hidden" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$hiddenSpanData"/>
<input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_OriginalEntities" type="hidden" value="<Entities><Entity Key="DS\francis.a.b.rosos" DisplayText="Rosos, Francis A. B." IsResolved="True" Description="DS\francis.a.b.rosos">
When we changed the type attribute value from hidden to text we can see the expected value e.g. Rosos, Francis A. B.
<input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_hiddenSpanData" type="text" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$hiddenSpanData"/>
<input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_OriginalEntities" type="text" value="<Entities><Entity Key="DS\francis.a.b.rosos" DisplayText="Rosos, Francis A. B." IsResolved="True" Description="DS\francis.a.b.rosos">
Html representation
<wssawc:PeopleEditor AllowEmpty="true" ValidatorEnabled="true" id="pplEditorMyBackup" AllowTypeIn="false" runat="server" SelectionSet="User,SecGroup,SPGroup,DL" width="350px" visible="true" MultiSelect="true" EnableViewState="true" onkeydown="javascript:AllowDeleteOnly(event);" onkeypress="javascript:AllowDeleteOnly(event);" /> |
Source view in FireFox
<span id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01" style="display: inline-block; width: 350px;" eeaftercallbackclientscript="" showentitydisplaytextintextbox="0" allowempty="1" value="true" removetext="Remove" moreitemstext="More Names..." nomatchestext="<No Matching Names>"> <input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_hiddenSpanData" type="hidden" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$hiddenSpanData"/> <input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_OriginalEntities" type="hidden" value="<Entities><Entity Key="DS\francis.a.b.rosos" DisplayText="Rosos, Francis A. B." IsResolved="True" Description="DS\francis.a.b.rosos"><ExtraData><ArrayOfDictionaryEntry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><DictionaryEntry><Key xsi:type="xsd:string">DisplayName</Key><Value xsi:type="xsd:string">Rosos, Francis A. B.</Value></DictionaryEntry><DictionaryEntry><Key xsi:type="xsd:string">Email</Key><Value xsi:type="xsd:string">francis.a.b.rosos@accenture.com</Value></DictionaryEntry><DictionaryEntry><Key xsi:type="xsd:string">SPUserID</Key><Value xsi:type="xsd:string">8</Value></DictionaryEntry><DictionaryEntry><Key xsi:type="xsd:string">Title</Key><Value xsi:type="xsd:string">Programmer</Value></DictionaryEntry><DictionaryEntry><Key xsi:type="xsd:string">PrincipalType</Key><Value xsi:type="xsd:string">User</Value></DictionaryEntry></ArrayOfDictionaryEntry></ExtraData></Entity></Entities>" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$OriginalEntities"/> <input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_HiddenEntityKey" type="hidden" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$HiddenEntityKey"/> <input id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_HiddenEntityDisplayText" type="hidden" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$HiddenEntityDisplayText"/> <table id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_OuterTable" class="ms-usereditor" cellspacing="0" cellpadding="0" border="0" style="width: 350px; border-collapse: collapse;"> <tbody> <tr> <td valign="top"> <table cellspacing="0" cellpadding="0" border="0" style="width: 100%; table-layout: fixed;"> <tbody> <tr> <td> <div id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_upLevelDiv" class="ms-inputuserfield" autopostback="0" style="display: none; position: absolute;" tabindex="0" name="upLevelDiv"/> <textarea id="ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01_downlevelTextBox" class="ms-input" style="width: 100%;" autopostback="0" title="People Picker" onkeyup="onKeyUpRw('ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01');" onkeydown="return onKeyDownRw(this, 'ctl00_PlaceHolderMain_CollaborationTab_pplAssistantName_ctl01', 3, false, event);" cols="20" rows="3" name="ctl00$PlaceHolderMain$CollaborationTab$pplAssistantName$ctl01$downlevelTextBox"/> </td> </tr> </tbody> </table> </td> </tr> <tr> </tr> <tr style="padding-top: 2px;"> </tr> </tbody> </table> </span> |