<%@ Page Language="VB" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="damnitsplitter._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> html, body, form { width: 100%; height: 100%; margin: 0px; padding: 0px; overflow: hidden; } </style> <script type="text/javascript"> function OnClientResized(sender, args) { var panewidth = $find("DefaultContents").get_width(); var paneheight = $find("DefaultContents").get_height(); var firstmenusplitter = $find($("#UserControl1Splitter").val()); firstmenusplitter.resize(panewidth, paneheight); firstmenusplitter.repaint(); var secondmenusplitter = $find($("#UserControl2Splitter").val()); secondmenusplitter.resize(panewidth, paneheight); secondmenusplitter.repaint(); } function OnClientTabSelected(sender, args) { var panewidth = $find("DefaultContents").get_width(); var paneheight = $find("DefaultContents").get_height(); var firstmenusplitter = $find($("#UserControl1Splitter").val()); firstmenusplitter.resize(panewidth, paneheight); firstmenusplitter.repaint(); var secondmenusplitter = $find($("#UserControl2Splitter").val()); secondmenusplitter.resize(panewidth, paneheight); secondmenusplitter.repaint(); } function OnClientTabSelecting(sender, args) { } function OnRequestStart() { var pageLoadWindow = $find("RadWindowPageLoad"); pageLoadWindow.show(); } function OnResponseEnd() { var pageLoadWindow = $find("RadWindowPageLoad"); pageLoadWindow.close(); } function sendingdata() { var radAjaxManager = $find("RadAjaxManager1"); radAjaxManager.ajaxRequest("damn it RadSplitter!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } </script></head><body> <form id="form1" runat="server"> <div style="display: none;"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <scripts> <%--Needed for JavaScript IntelliSense in VS2010--%> <%--For VS2008 replace RadScriptManager with ScriptManager--%> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </scripts> </telerik:RadScriptManager> <telerik:RadWindow ID="RadWindowPageLoad" AutoSize="false" Skin="Simple" Modal="true" Overlay="true" VisibleTitlebar="true" Title="Processing..." Behaviors="None" VisibleStatusbar="false" Width="400" Height="200" runat="server" Style="position: absolute; z-index: 9000;"> <contenttemplate> <div style="margin-top: 55px; text-align: center; vertical-align: middle;"> <asp:Image ID="ImagePageLoading" runat="server" /> </div> </contenttemplate> </telerik:RadWindow> </div> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <clientevents onrequeststart="OnRequestStart" onresponseend="OnResponseEnd" /> <ajaxsettings> <telerik:AjaxSetting AjaxControlID="DefaultRadMenu"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="DefaultRadSplitter1" UpdatePanelHeight="100%" /> <telerik:AjaxUpdatedControl ControlID="hiddenfields" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="DefaultRadSplitter1" UpdatePanelHeight="100%"/> <telerik:AjaxUpdatedControl ControlID="hiddenfields" /> </UpdatedControls> </telerik:AjaxSetting> </ajaxsettings> </telerik:RadAjaxManager> <telerik:RadSplitter runat="server" ID="DefaultRadSplitter1" Orientation="Horizontal" OnClientResized="OnClientResized" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="DefaultHeader" Height="60" CssClass="DefaultHeaderCss" Scrolling="None"> <div style="height: 100%; width: 100%; background-color: Gray;"> <telerik:RadMenu ID="DefaultRadMenu" runat="server" EnableShadows="true"> <items> <telerik:RadMenuItem Text="first menu" Value="first menu" PostBack="false"> <Items> <telerik:RadMenuItem Text="first menu1" Value="WebUserControl1" /> </Items> </telerik:RadMenuItem> <telerik:RadMenuItem IsSeparator="true" /> <telerik:RadMenuItem Text="second menu" Value="second menu" PostBack="false"> <Items> <telerik:RadMenuItem Text="second menu1" Value="WebUserControl2" /> </Items> </telerik:RadMenuItem> </items> </telerik:RadMenu> </div> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultTab" Height="30"> <telerik:RadTabStrip runat="server" ID="DefaultRadTabStrip" MultiPageID="DefaultMultiPage" OnClientTabSelected="OnClientTabSelected" OnClientTabSelecting="OnClientTabSelecting"> <tabtemplate> <asp:Label ID="LabelTabName" runat="server" Text='<%# DataBinder.Eval(Container, "Text") %>' /> <span class="ie6shim"></span> </tabtemplate> </telerik:RadTabStrip> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultContents" Width="100%" Height="100%" Scrolling="None"> <telerik:RadMultiPage runat="server" ID="DefaultMultiPage"> </telerik:RadMultiPage> </telerik:RadPane> <telerik:RadPane runat="server" ID="DefaultFooter" Height="30"> <div style="height: 100%; width: 100%; background-color: Gray"> Footer</div> </telerik:RadPane> </telerik:RadSplitter> <asp:Panel runat="server" ID="hiddenfields"> <asp:HiddenField runat="server" ID="UserControl1Splitter" /> <asp:HiddenField runat="server" ID="UserControl2Splitter" /> </asp:Panel> </form></body></html>Imports Telerik.Web.UIPartial Class _Default Inherits System.Web.UI.Page Private Sub RadMenuTopItemClick(sender As Object, e As Telerik.Web.UI.RadMenuEventArgs) Handles DefaultRadMenu.ItemClick Try If DefaultRadTabStrip.FindTabByText(e.Item.Text) Is Nothing Then AddTab(e.Item.Text) DefaultRadTabStrip.FindTabByText(e.Item.Text).Value = e.Item.Value AddPageView(DefaultRadTabStrip.FindTabByText(e.Item.Text)) DefaultRadTabStrip.DataBind() Else DefaultRadTabStrip.FindTabByText(e.Item.Text).Selected = True DefaultRadTabStrip.FindTabByText(e.Item.Text).PageView.Selected = True End If Catch ex As Exception Throw ex End Try End Sub Private Sub AddTab(ByVal tabName As String) VisibleRadTabContent(True) DefaultTab.Collapsed = False If DefaultRadTabStrip.SelectedTab IsNot Nothing Then DefaultRadTabStrip.SelectedTab.Selected = False End If Dim tab As RadTab = New RadTab tab.Text = tabName tab.Selected = True DefaultRadTabStrip.Tabs.Add(tab) End Sub Private Sub AddPageView(ByVal tab As RadTab) Dim pageView As RadPageView = New RadPageView pageView.ID = tab.Value pageView.Selected = True pageView.Width = System.Web.UI.WebControls.Unit.Percentage(100) pageView.Height = System.Web.UI.WebControls.Unit.Percentage(100) DefaultMultiPage.PageViews.Add(pageView) tab.PageViewID = pageView.ID End Sub Private Sub VisibleRadTabContent(value As Boolean) DefaultRadTabStrip.Visible = value DefaultRadTabStrip.Visible = value End Sub Protected Sub DefaultMultiPage_PageViewCreated(sender As Object, e As Telerik.Web.UI.RadMultiPageEventArgs) Handles DefaultMultiPage.PageViewCreated Dim userControlName As String = e.PageView.ID + ".ascx" Dim userControl As Control = Page.LoadControl(userControlName) userControl.ID = e.PageView.ID & "_userControl" e.PageView.Controls.Add(userControl) End Sub Protected Sub RadAjaxManager_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs) Handles RadAjaxManager1.AjaxRequest Dim a = e.Argument End SubEnd Class<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl1.ascx.vb" Inherits="damnitsplitter.WebUserControl1" %><telerik:RadSplitter runat="server" ID="WebUserControl1RadSplitterWrap" Orientation="Horizontal" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="WebUserControl1RadPaneMenu" height="30"> <div> <asp:Button ID="sendtodefaultpage" runat="server" Text="Button" OnClientClick="return sendingdata();"/> </div> </telerik:RadPane> <telerik:RadPane runat="server" ID="WebUserControl1RadPane" Width="100%" Height="100%" Scrolling="Y"> <div style="background-color: yellow"> start<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> WebUserControl 1 Content<br /> end<br /> </div> </telerik:RadPane></telerik:RadSplitter>Public Class WebUserControl1 Inherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim hiddenfield = DirectCast(Page.FindControl("UserControl1Splitter"), HiddenField) hiddenfield.Value = WebUserControl1RadSplitterWrap.ClientID End SubEnd Class<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl2.ascx.vb" Inherits="damnitsplitter.WebUserControl2" %><telerik:RadSplitter runat="server" ID="WebUserControl1RadSplitterWrap" Orientation="Horizontal" Width="100%" Height="100%"> <telerik:RadPane runat="server" ID="WebUserControl1RadPane" Scrolling="None"> <telerik:RadSplitter runat="server" ID="RadSplitter" Orientation="Vertical" Width="100%" ResizeWithParentPane="false" Height="100%"> <telerik:RadPane runat="server" ID="RadPane1" Scrolling="None"> <div style="background-color: Blue;"> WebUserControl 2 Content fisrt </div> </telerik:RadPane> <telerik:RadSplitBar runat="server"> </telerik:RadSplitBar> <telerik:RadPane runat="server" ID="RadPane2" Scrolling="Y"> <div style="background-color: yellow"> start<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> WebUserControl 2 Content<br /> end<br /> </div> </telerik:RadPane> </telerik:RadSplitter> </telerik:RadPane></telerik:RadSplitter>Public Class WebUserControl2 Inherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim hiddenfield = DirectCast(Page.FindControl("UserControl2Splitter"), HiddenField) hiddenfield.Value = RadSplitter.ClientID End Sub End Classvar CheckBoxNoExpiration = document.getElementById('<%= CheckBoxNoExpiration.ClientID %>'); var DatePicker = $find('<%= RadExpiryDate.ClientID %>'); var MandatoryMark = document.getElementById('<%= MandatoryMark.ClientID %>'); if (CheckBoxNoExpiration != null) { if (CheckBoxNoExpiration.checked) { if (MandatoryMark != null) MandatoryMark.style.display = 'none'; DatePicker.get_dateInput().disable(); DatePicker.get_dateInput.onclick = function() { return false; }; //onKeyDown = "javascript:return false;" DatePicker._popupButton.disabled = true; DatePicker._popupButton.onclick = function() { return false; }; } else { if (MandatoryMark != null) MandatoryMark.style.display = 'inline'; DatePicker.get_dateInput().enable(); DatePicker._popupButton.disabled = false; DatePicker._popupButton.onclick = function() { DatePicker.togglePopup(); return false; }; } }function OnClientNodePopulatingHandler(sender, e) { e.get_node().get_nodes().clear();}
<td><telerik:RadComboBox ID="ddlCustomer" Runat="server" Width="245px" EnableEmbeddedSkins="false" Skin="Activity" CheckBoxes="true" AutoPostBack="true"></telerik:RadComboBox></td>
<td><telerik:RadComboBox ID="ddlLocation" Runat="server" Width="185px" EnableEmbeddedSkins="false" Skin="Activity" CheckBoxes="true" AutoPostBack="true"></telerik:RadComboBox></td>
<telerik:GridTemplateColumn HeaderText="Arrival" SortExpression="LocationArrival" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" AllowFiltering="false" UniqueName="LocationArrival">
<ItemTemplate>
<asp:CheckBox ID="chkLocationArrival" runat="server" AutoPostBack="True" OnCheckedChanged="chkLocationArrival_CheckedChanged"/>
</ItemTemplate>
</telerik:GridTemplateColumn>
If the Checkboxes = true is enabled the postbask fails and the chkLocationArrival_CheckedChanged never runs.
Whats going on
Andy
ltcs = ltcs.Where(l => Object.Equals(l.status, null));<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ListToCountList.aspx.cs" Inherits="ListToCountList" %><%@ Register TagPrefix="rad" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><%@ Register TagPrefix="HU" Namespace="HumanUse.CustomControls" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> <style type="text/css"> .wait, .wait * { cursor: wait !important; } </style></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <rad:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> <AjaxSettings> <rad:AjaxSetting AjaxControlID="RadAjaxManager1"> <UpdatedControls> <rad:AjaxUpdatedControl ControlID="RadGrid1" /> </UpdatedControls> </rad:AjaxSetting> <rad:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <rad:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </rad:AjaxSetting> </AjaxSettings> </rad:RadAjaxManager> <rad:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="430px" Width="924px" Transparency="0"> <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' style="border: 0;" /> </rad:RadAjaxLoadingPanel> <rad:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function ShowViewForm(id, rowIndex) { var grid = $find("<%= RadGrid1.ClientID %>"); var rowControl = grid.get_masterTableView().get_dataItems()[rowIndex].get_element(); grid.get_masterTableView().selectItem(rowControl, true); var manager = GetRadWindowManager(); var window1 = manager.getWindowByName("ListToCountForm"); window1.setUrl("ListToCountForm.aspx?ltcid=" + id); window1.show(); return false; } function refreshGrid(arg, rebindOnly) { alert('Your changes have been saved successfully'); if (!arg && !rebindOnly) { $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind"); } else if (rebindOnly) { $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindOnly"); } else { $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RebindOnly"); } } </script> </rad:RadCodeBlock> <rad:RadGrid ID="RadGrid1" runat="server" PageSize="25" GridLines="None" AllowCustomPaging="true" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" EnableLinqExpressions="false" AutoGenerateColumns="False"> <MasterTableView ClientDataKeyNames="assignment_id" AllowCustomPaging="true" AllowMultiColumnSorting="true" AllowCustomSorting="true" DataKeyNames="assignment_id" AutoGenerateColumns="False" AllowFilteringByColumn="True"> <Columns> <rad:GridBoundColumn HeaderText="Segment" AllowFiltering="true" AllowSorting="true" DataField="segment_id" UniqueName="segment_id" DataType="System.Int32" SortExpression="segment_id" CurrentFilterFunction="EqualTo" ShowFilterIcon="false"> </rad:GridBoundColumn> <rad:GridBoundColumn HeaderText="Photo Date" DataField="photo_date" DataType="System.DateTime" DataFormatString="{0:d}" SortExpression="photo_date" UniqueName="date" CurrentFilterFunction="EqualTo" ShowFilterIcon="false"> </rad:GridBoundColumn> <HU:DistinctLTCValueDropDownFilterColumn FilterControlWidth="60" HeaderText="Initials" AllowFiltering="true" DataField="initials" UniqueName="initials" SortExpression="initials" ShowFilterIcon="false"> <ItemTemplate> <%#Eval("initials") %> </ItemTemplate> </HU:DistinctLTCValueDropDownFilterColumn> <HU:DistinctLTCValueDropDownFilterColumn FilterControlWidth="60" HeaderText="Zone" AllowFiltering="true" DataField="zone" UniqueName="zone" SortExpression="zone" ShowFilterIcon="false"> <ItemTemplate> <%#Eval("zone")%> </ItemTemplate> </HU:DistinctLTCValueDropDownFilterColumn> <HU:DistinctLTCValueDropDownFilterColumn FilterControlWidth="140" HeaderText="Field Office" AllowFiltering="true" DataField="FieldOffice" UniqueName="FieldOffice" SortExpression="FieldOffice" ShowFilterIcon="false"> <ItemTemplate> <%#Eval("FieldOffice")%> </ItemTemplate> </HU:DistinctLTCValueDropDownFilterColumn> <HU:DistinctLTCValueDropDownFilterColumn FilterControlWidth="100" HeaderText="Status" AllowFiltering="true" DataField="status" UniqueName="status" SortExpression="status" ShowFilterIcon="false"> <ItemTemplate> <%#Eval("status")%> </ItemTemplate> </HU:DistinctLTCValueDropDownFilterColumn> <rad:GridBoundColumn HeaderText="Last User" DataField="last_updated_user" ItemStyle-VerticalAlign="Top" DataType="System.String" SortExpression="last_updated_user" AllowFiltering="true" AllowSorting="true" CurrentFilterFunction="EqualTo" ShowFilterIcon="false"> </rad:GridBoundColumn> <rad:GridBoundColumn HeaderText="Last Update" DataField="last_update_date" ItemStyle-VerticalAlign="Top" DataFormatString="{0:MM/dd/yyyy}" UniqueName="last_update_date" SortExpression="last_update_date" AllowSorting="true" CurrentFilterFunction="EqualTo" ShowFilterIcon="false"> </rad:GridBoundColumn> <HU:DistinctLTCValueDropDownFilterColumn FilterControlWidth="50" HeaderText="Boating" AllowFiltering="true" DataField="boating" UniqueName="boating" SortExpression="boating" ShowFilterIcon="false"> <ItemTemplate> <%#Eval("boating")%> </ItemTemplate> </HU:DistinctLTCValueDropDownFilterColumn> <rad:GridTemplateColumn ItemStyle-VerticalAlign="Top" UniqueName="TemplateEditColumn" AllowFiltering="True" HeaderText="Edit" HeaderStyle-Wrap="false"> <ItemTemplate> <asp:HyperLink ID="EditLink" runat="server" Text="Edit"></asp:HyperLink> </ItemTemplate> <FilterTemplate> <asp:Button runat="server" ID="btnFilter" Text="Filter" OnClick="btn_Click" /> <br /> <asp:Button runat="server" ID="btnClearFilter" Text="Clear" OnClick="btn_ClearClick" /> </FilterTemplate> </rad:GridTemplateColumn> </Columns> </MasterTableView> </rad:RadGrid> <rad:RadWindowManager ID="RadWindowManager1" runat="server" Skin="Vista"> <Windows> <rad:RadWindow Skin="Vista" ID="ListToCountForm" ClientIDMode="Static" RestrictionZoneID="main" ShowContentDuringLoad="false" runat="server" Title="List To Count Form" Width="400px" Height="600px" ReloadOnShow="true" Modal="true" /> </Windows> </rad:RadWindowManager></asp:Content>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;using HumanUse;using System.Configuration;using System.Text.RegularExpressions;public partial class ListToCountList : BasePage{ protected void Page_Load(object sender, EventArgs e) { base.CheckSecurity(true); RadGrid1.GroupingSettings.CaseSensitive = false; RadGrid1.ItemDataBound += new Telerik.Web.UI.GridItemEventHandler(RadGrid1_ItemDataBound); RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource); } protected void btn_Click(object sender, EventArgs e) { RadGrid1.Rebind(); } protected void btn_ClearClick(object sender, EventArgs e) { RadGrid1.MasterTableView.FilterExpression = ""; foreach (GridColumn c in RadGrid1.MasterTableView.Columns) { c.CurrentFilterValue = ""; } RadGrid1.Rebind(); } void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { WCSAerialDataContext db = new WCSAerialDataContext(ConfigurationManager.ConnectionStrings["WCS_AerialConnectionString"].ConnectionString); IQueryable<vwLTC> ltcs = db.vwLTCs; if (ShouldApplySortFilterOrGroup()) { if (RadGrid1.MasterTableView.FilterExpression != "") { foreach (String s in RadGrid1.MasterTableView.FilterExpression.Replace("AND", "~").Split('~')) { string column = s.Substring(2, s.IndexOf("]", 2) - 2); string value = ""; if (column != "segment_id") { value = RadGrid1.MasterTableView.FilterExpression.Substring(RadGrid1.MasterTableView.FilterExpression.IndexOf("'") + 1, RadGrid1.MasterTableView.FilterExpression.IndexOf("'", RadGrid1.MasterTableView.FilterExpression.IndexOf("'") + 1) - (RadGrid1.MasterTableView.FilterExpression.IndexOf("'") + 1)); } else { value = RadGrid1.MasterTableView.FilterExpression.Substring(RadGrid1.MasterTableView.FilterExpression.IndexOf("=") + 2, (RadGrid1.MasterTableView.FilterExpression.IndexOf(")", RadGrid1.MasterTableView.FilterExpression.IndexOf("=") + 2) - (RadGrid1.MasterTableView.FilterExpression.IndexOf("=") + 2))); } if (value == "NULL") value = null; switch (column) { case "segment_id": ltcs = ltcs.Where(l => l.segment_id == int.Parse(value)); break; case "photo_date": ltcs = ltcs.Where(l => l.photo_date == DateTime.Parse(value)); break; case "initials": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.initials, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.initials == value); } break; case "zone": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.zone, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.zone == value); } break; case "FieldOffice": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.FieldOffice, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.FieldOffice == value); } break; case "status": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.status, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.status == value); } break; case "last_updated_user": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.last_updated_user, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.last_updated_user == value); } break; case "last_update_date": ltcs = ltcs.Where(l => l.last_update_date == DateTime.Parse(value)); break; case "boating": if (value == null) { ltcs = ltcs.Where(l => Object.Equals(l.boating, null)); } else { value = value.Replace("%", ""); ltcs = ltcs.Where(l => l.boating == value); } break; } } } if (RadGrid1.MasterTableView.SortExpressions.Count > 0) { foreach (GridSortExpression exp in RadGrid1.MasterTableView.SortExpressions) { switch (exp.FieldName) { case "segment_id": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.segment_id); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.segment_id); break; case "photo_date": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.photo_date); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.photo_date); break; case "initials": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.initials); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.initials); break; case "zone": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.zone); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.zone); break; case "FieldOffice": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.FieldOffice); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.FieldOffice); break; case "status": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.status); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.status); break; case "last_updated_user": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.last_updated_user); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.last_updated_user); break; case "last_update_date": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.last_update_date); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.last_update_date); break; case "boating": if (exp.SortOrder == GridSortOrder.Ascending) ltcs = ltcs.OrderBy(l => l.boating); else if (exp.SortOrder == GridSortOrder.Descending) ltcs = ltcs.OrderByDescending(l => l.boating); break; } } } } RadGrid1.VirtualItemCount = ltcs.Count(); RadGrid1.DataSource = ltcs.Skip(RadGrid1.CurrentPageIndex * RadGrid1.PageSize).Take(RadGrid1.PageSize); } public bool ShouldApplySortFilterOrGroup() { return RadGrid1.MasterTableView.FilterExpression != "" || RadGrid1.MasterTableView.SortExpressions.Count > 0; } void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridDataItem) { string next = string.Empty; string previous = string.Empty; string current = string.Empty; current = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["assignment_id"].ToString(); HyperLink editLink = (HyperLink)e.Item.FindControl("EditLink"); editLink.Attributes["href"] = "#"; editLink.Attributes["onclick"] = String.Format("return ShowViewForm('{0}','{1}');", current, e.Item.ItemIndex); } } protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) { if (e.Argument == "Rebind") { RadGrid1.MasterTableView.SortExpressions.Clear(); RadGrid1.MasterTableView.GroupByExpressions.Clear(); RadGrid1.Rebind(); } else if (e.Argument == "RebindAndNavigate") { RadGrid1.MasterTableView.SortExpressions.Clear(); RadGrid1.MasterTableView.GroupByExpressions.Clear(); RadGrid1.MasterTableView.CurrentPageIndex = RadGrid1.MasterTableView.PageCount - 1; RadGrid1.Rebind(); } else if (e.Argument == "RebindOnly") { RadGrid1.Rebind(); } }}using Telerik.Web.UI;using System.Data;using System.Web.UI;using System.Web.UI.WebControls;using System.Data.SqlClient;using System.Configuration;using System.Collections.Generic;using System;namespace HumanUse.CustomControls{ /// <summary> /// Summary description for DistinctValueDropDownFilterColumn /// </summary> public class DistinctLTCValueDropDownFilterColumn : GridTemplateColumn { public enum Orders { ASC, DESC } public Orders Order { get; set; } public bool OrderResults { get; set; } protected override void SetupFilterControls(TableCell cell) { RadComboBox rcBox = new RadComboBox(); rcBox.ID = "DDL" + this.UniqueName; rcBox.AutoPostBack = this.AutoPostBackOnFilter; rcBox.Width = this.FilterControlWidth; rcBox.SelectedIndexChanged += rcBox_SelectedIndexChanged; WCSAerialDataContext db = new WCSAerialDataContext(); string q = String.Format("SELECT DISTINCT {0} FROM vwLTC", DataField); if(OrderResults) { q += " ORDER BY " + DataField + " " + Order.ToString(); } IEnumerable<String> values = db.ExecuteQuery<String>(q); rcBox.Items.Add(new RadComboBoxItem("No Filter", "")); foreach (string s in values) { if(String.IsNullOrWhiteSpace(s)) rcBox.Items.Add(new RadComboBoxItem("", "NULL")); else rcBox.Items.Add(new RadComboBoxItem(s, s)); } cell.Controls.Add(rcBox); } protected override void SetCurrentFilterValueToControl(TableCell cell) { if (!(this.CurrentFilterValue == "")) { ((RadComboBox)cell.Controls[0]).Items.FindItemByValue(this.CurrentFilterValue).Selected = true; } } protected override string GetCurrentFilterValueFromControl(TableCell cell) { string currentText = ((RadComboBox)cell.Controls[0]).SelectedItem.Text; string currentValue = ((RadComboBox)cell.Controls[0]).SelectedItem.Value; this.CurrentFilterFunction = (currentText != "No Filter") ? GridKnownFunction.EqualTo : GridKnownFunction.NoFilter; return currentValue; } private void rcBox_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e) { ((GridFilteringItem)(((RadComboBox)sender).Parent.Parent)).FireCommandEvent("Filter", new Pair()); } }}