protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { if(e.Argument=="taniekle") { int ID = DataReader.GetInt32(Request.Form["grdTanilarDClickedRowIndex"]); if (ID > 0) { ucpTani.TaniEkle(ID); } return; }}<telerik:RadAjaxManager ID="RadAjaxManager1" OnAjaxRequest="RadAjaxManager1_AjaxRequest" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdHastalar" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="grdHastalar" EventName="OnRowClick" > <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="TaniUC" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </AjaxSettings> </telerik:RadAjaxManager><telerik:RadListBox ID="rlbReadOnlyGroups" runat="server" meta:resourcekey="rlbReadOnlyGroups"></telerik:RadListBox>rlbReadOnlyGroups.EmptyMessage Aucun groupe assigné
rlbReadOnlyGroups.AllToLeft Tous à gauche
rlbReadOnlyGroups.Localization.AllToLeft Tous à gaucherlbReadOnlyGroups.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 Templatepublic 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 %>"); }