<telerik:RadListBox ID=
"rlbReadOnlyGroups"
runat=
"server"
meta:resourcekey=
"rlbReadOnlyGroups"
>
</telerik:RadListBox>
rlbReadOnlyGroups.EmptyMessage Aucun groupe assigné
rlbReadOnlyGroups.AllToLeft Tous à gauche
rlbReadOnlyGroups.Localization.AllToLeft Tous à gauche
rlbReadOnlyGroups.Localization-AllToLeft Tous à gauche
<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" Runat="Server">
<script type="text/javascript">
function rdGrid1_RowSelected(sender, args) {
var StartDate = args.getDataKeyValue("Start Date");
var EndDate = args.getDataKeyValue("End Date");
var panel = $find("<%=xmlPanel1.ClientID %>");
panel.set_value(StartDate + '|' + EndDate);
}
</script>
<style type="text/css">
.style1
{
font-size: medium;
font-weight: bold;
}
.divContainer
{
width: 100%;
height: 160px;
position: relative;
}
.divGrid, .divXmlHttpPanel
{
position: absolute;
top: 2px;
left: 0px;
}
.divXmlHttpPanel
{
top: 2px;
left: 170px;
}
.lblstyle
{
font-weight: bold;
font-size: medium;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="CPH_LeftNav" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="CPH_MainContent" Runat="Server">
<%--<p>--%>
<br />
<telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="chkComplete">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="chkComplete" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="radGrids">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdGrid1" LoadingPanelID="rdPanel1" />
<telerik:AjaxUpdatedControl ControlID="rdGrid2" LoadingPanelID="rdPanel2" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<div class="lblstyle">
<asp:Label ID="lblSelect" runat="server" Font-Size="Smaller"></asp:Label>
</div>
<div class="divContainer">
<div class="divGrid">
<telerik:RadAjaxLoadingPanel ID="rdPanel1" runat="server" Skin="WebBlue"></telerik:RadAjaxLoadingPanel>
<telerik:RadGrid ID="rdGrid1" runat="server" Skin="WebBlue" Height="150px" OnNeedDataSource="rdGrid1_DataSource"
GridLines="None" CellSpacing="0" Width="165px" AutoGenerateColumns="false">
<MasterTableView ClientDataKeyNames="Start Date, End Date" Width="100%" Summary="rdGrid1 table">
<Columns>
<telerik:GridBoundColumn HeaderText="Start Date" DataField="Start Date"></telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="End Date" DataField="End Date"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="false" ClientEvents-OnRowSelected="rdGrid1_RowSelected">
<Selecting AllowRowSelect="True" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
<Resizing EnableRealTimeResize="True" />
</ClientSettings>
</telerik:RadGrid>
</div>
<div class="divXmlHttpPanel">
<telerik:RadAjaxLoadingPanel ID="rdPanel2" runat="server" Skin="WebBlue"></telerik:RadAjaxLoadingPanel>
<telerik:RadXmlHttpPanel ID="xmlPanel1" Runat="server" RenderMode="Block" LoadingPanelID="rdPanel2"
Value="FRANAR" OnServiceRequest="xmlPanel1_ServiceRequest" ClientIDMode="Inherit" EnableClientScriptEvaluation="true">
<telerik:RadGrid ID="rdGrid2" runat="server" Skin="WebBlue" GridLines="None" CellSpacing="0"
OnNeedDataSource="rdGrid1_DataSource" EnableClientScriptEvaluation="true">
<MasterTableView AutoGenerateColumns="true" Summary="rdGrid2 table" Width="100%">
</MasterTableView>
</telerik:RadGrid>
</telerik:RadXmlHttpPanel>
</div>
</div>
<div class="lblstyle">
<asp:Label ID="lblSelect2" runat="server" Font-Size="Smaller"></asp:Label>
</div>
<p>
</p>
</asp:Content>
<
telerik:RadGrid
ID
=
"rg"
runat
=
"server"
CellPadding
=
"2"
CellSpacing
=
"2"
AutoGenerateColumns
=
"false"
EnableViewState
=
"true"
AllowPaging
=
"true"
PageSize
=
"25"
AllowSorting
=
"true"
AllowMultiRowSelection
=
"true"
AllowCustomPaging
=
"true"
OnNeedDataSource
=
"rg_NeedDataSource"
OnSortCommand
=
"rg_SortCommand"
OnItemDataBound
=
"rg_ItemDataBound"
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
Position
=
"Bottom"
AlwaysVisible
=
"True"
/>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
></
Selecting
>
<
ClientEvents
OnRowSelected
=
"RowSelected"
OnRowDeselected
=
"RowDeselected"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
private
void
DesignRadGrid()
{
rg.MasterTableView.AllowMultiColumnSorting =
true
;
var lPropertyInfo =
typeof
(MyObject).GetProperties(BindingFlags.Public | BindingFlags.Instance).ToList();
var vColumns = from col
in
GetUserSelectedColumns()
// return type is GridColumns
join pi
in
lPropertyInfo on col.ColumnName equals pi.Name
select
new
{
col.ColumnId,
col.ColumnName,
col.DataType,
col.DisplayColumn,
col.ParentTable,
col.ParentColumn
};
var width = 0;
foreach
(var oColumn
in
vColumns)
{
var boundColumn =
new
GridBoundColumn();
GridTemplateColumn templateColumn =
null
;
switch
(oColumn.DataType)
{
case
"Number"
:
var isUnitized = UnitSystem.CheckIfUnitized(oColumn.ParentTable, oColumn.ParentColumn);
// if isUnitized then we need template column
if
(isUnitized)
{
boundColumn =
null
;
var unitLabel = UnitSystem.GetUnitLabel(oColumn.ParentTable, oColumn.ParentColumn, UserId);
templateColumn =
new
GridTemplateColumn
{
HeaderText = String.Format(
"{0} ({1})"
, oColumn.ColumnName, unitLabel)
};
hdnColumnId.Value +=
","
+ oColumn.ColumnId;
}
break
;
case
"Date"
:
boundColumn.DtaFormatString =
"{0:dd-MMM-yyyy}"
;
width = 75;
break
;
case
"Boolean"
boundColumn =
null
;
templateColumn =
new
GridTemplateColumn();
hdnColumnId.Value +=
","
+ oColumn.ColumnId;
break
;
case
"Text"
:
if
(oColumn.ColumnName.EndsWith(
"Remarks"
) || oColumn.ColumnName.EndsWith(
"Summary"
))
width = 650;
break
;
}
// For sorting to work, the columns must be added to the rg collection before defining the properties
// Telerik: Can you answer why?
if
(templateColumn ==
null
)
{
rg.MasterTableView.Columns.Add(boundColumn);
boundColumn.HeaderText = oColumn.ColumnName;
boundColumn.SortExpression = oColumn.Name;
boundColumn.DataField = oColumn.Name;
if
(width > 0)
boundColumn.HeaderStyle.Width = width;
//if (width > 0)
//boundColumn.HeaderStyle.Width = Unit.Pixex(width);
}
else
{
rg.MasterTableView.Columns.Add(templateColumn);
templateColumn.HeaderText = String.IsNullOrEmpty(templateColumn.HeaderText)
? oColumn.ColumnName
: templateColumn.HeaderText;
templateColumn.SortExpression = oColumn.Name;
templateColumn.ItemTemplate =
new
MyTemplate(MyControlType.LiteralControl,
"lit"
+ oColumn.ColumnId.ToString);
if
(width > 0)
templateColumn.HeaderStyle.Width = width;
//if (width > 0)
//templateColumn.HeaderStyle.Width = Unit.Pixex(width);
}
}
var gridCheckBoxColumn =
new
GridClientSelectColumn { HeaderText = String.Empty, UniqueName =
"Select"
};
gridCheckBoxColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
rg.MasterTableView.Columns.Add(gridCheckBoxColumn);
var editTemplateColumn =
new
GridTemplateColumn();
editTemplateColumn.ItemTemplate =
new
MyTemplate(MyControlType.ImageButton,
"ibEdit"
);
editTemplateColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
editTemplateColumn.UniqueName =
"Edit"
;
rg.MasterTableView.Columns.Insert(0, editTemplateColumn);
}
// Class for Custom Template
public
enum
MyControlType
{
Button = 0,
ImageButton = 1,
LiteralControl = 2
}
public
class
MyTemplate : ITemplate
{
protected
Control _ctrl;
private
MyControlType _ctrlType;
private
string
_ctrlName;
public
MyTemplate
(MyControlType ctrlType,
string
ctrlName)
{
_ctrlType = ctrlType;
_ctrlName = ctrlName;
}
public
void
InstantiateIn(Control container)
{
switch
(_ctrlType)
{
case
MyControlType.Button:
_ctrl =
new
Button {ID = _ctrlName};
break
;
case
MyControlType.ImageButton:
_ctrl =
new
ImageButton {ID = _ctrlName};
break
;
case
MyControlType.LiteralControl:
_ctrl =
new
LiteralControl {ID = _ctrlName};
break
;
}
_ctrl.EnableViewState =
true
;
container.Controls.Add(_ctrl);
}
}
<
telerik:RadComboBox
ID
=
"rcboProject"
runat
=
"server"
AppendDataBoundItems
=
"True"
DataTextField
=
"Name"
DataValueField
=
"ClientNameProjectID"
DataSourceID
=
"objProject"
MarkFirstMatch
=
"true"
AllowCustomText
=
"true"
Filter
=
"Contains"
NoWrap
=
"true"
>
<
Items
>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"Non Project"
Value
=
"-1"
/>
</
Items
>
</
telerik:RadComboBox
>
// this function is called from client side event such as a button click or perhaps even by the
// OnClientSelectedIndexChanged event of another combo box(obviously it would need event params in that case).
function
FilterProjects() {
// GetProjectCombo(index)
var
projectCombo = GetProjectCombo();
// Get project combo items.
var
projectItems = projectCombo.get_items();
projectCombo.trackChanges();
// loop through, hide * projects except the top 10
for
(i = 0; i < projectItems._array.length; i++)
{
if
(i < 10)
continue
;
// Get Item, load its data.
var
item = projectItems.getItem(i);
var
itemValue = item.get_value();
if
(
true
)
// simplified for Telerik support.
{
item.hide();
// works temporarily until clicking on html body then it reverts back to original state.
//item.removeAt(i); // works and persists.
//item.disable(); // works and persists.
}
}
projectCombo.commitChanges();
}
function
GetProjectCombo(index) {
return
$find(
"<%= rcboProject.ClientID %>"
);
}