or
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DashBoardGrid.ascx.cs" Inherits="WebUserControlTest.WebUserControl1" %><script type="text/javascript"> function pageLoad(sender, eventArgs) { }</script><telerik:RadGrid ID="DashboardGrid" runat="server" PageSize="8" AllowPaging="true" Width="60%" PagerStyle-AlwaysVisible="false" AllowFilteringByColumn="True" AllowSorting="True" OnNeedDataSource="DashGrid_NeedDataSource" CellSpacing="1" OnPageIndexChanged="DashboardGrid_PagingCommand" GridLines="None" OnSortCommand="DashboardGrid_SortCommand" PagerStyle-Mode="NextPrev" ClientIDMode="Static" GroupingEnabled="False" OnSelectedCellChanged="DashboardGrid_SelectedCellChanged1" PagerStyle-HorizontalAlign="Center" PagerStyle-VerticalAlign="Middle" SelectedItemStyle-VerticalAlign="Top" MasterTableView-PageSize="8"> <MasterTableView AllowMultiColumnSorting="true" TableLayout="Fixed"> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"> </RowIndicatorColumn> <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"> </ExpandCollapseColumn> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="true" /> </ClientSettings> <FilterMenu EnableImageSprites="False"> </FilterMenu></telerik:RadGrid>string QueryOrStoredProcedure, bool HasStoredProcedure and int DatabaseEnum are public properties (of the custom user
control)
PAGE_LOAD :
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadData(); //DashboardGrid.ClientSettings.DataBinding.EnableCaching = true; DashboardGrid.DataBind(); } }
string ConnectionString = string.Empty; string SelectQuery = string.Empty; if (!HasStoredProcedure) SelectQuery = QueryOrStoredProcedure; ConnectionStringSettingsCollection ConnctionStringCollection = ConfigurationManager.ConnectionStrings; if (ConnctionStringCollection != null) { foreach (ConnectionStringSettings connection in ConnctionStringCollection) { if (string.Equals(connection.Name, "LocalConnectionString")) { ConnectionString = connection.ConnectionString; if (!string.IsNullOrEmpty(DB 1) && !string.IsNullOrEmpty(DB 2) && !string.IsNullOrEmpty(DB 3) && !string.IsNullOrEmpty(DB 4) && !string.IsNullOrEmpty(DB 5) && ConnectionString.Contains("master")) { switch (DatabaseEnum) { case 1: ConnectionString = ConnectionString.Replace("master", DB 1); break; case 2: ConnectionString = ConnectionString.Replace("master", DB 2); break; case 3: ConnectionString = ConnectionString.Replace("master", DB 3); break; case 4: ConnectionString = ConnectionString.Replace("master", DB 4); break; case 5: ConnectionString = ConnectionString.Replace("master", DB 5); break; default: ConnectionString = ConnectionString.Replace("master", DB 6); break; } } break; } } SqlConnection Connection = new SqlConnection(ConnectionString); SqlDataAdapter Adapter = new SqlDataAdapter(); DataSet DashboardGridDataSet = new DataSet(); try { Connection.Open(); if (Connection.State.ToString().ToLower() == "open") { Adapter.SelectCommand = new SqlCommand(SelectQuery, Connection); Adapter.Fill(DashboardGridDataSet); } } finally { Connection.Close(); } DataView DashboardGridDataView = DashboardGridDataSet.Tables[0].DefaultView; DashboardGrid.DataSource = DashboardGridDataView; Session["DashboardGridData"] = DashboardGridDataView; Session["GridPages"] = DashboardGrid.PageCount; } }protected void DashboardGrid_PagingCommand(object sender, Telerik.Web.UI.GridPageChangedEventArgs e){ if (e.NewPageIndex < Convert.ToInt32(Session["GridPages"]) && e.NewPageIndex >= 0) DashboardGrid.CurrentPageIndex = e.NewPageIndex; DashboardGrid.Rebind();}protected void DashboardGrid_SortCommand(object sender, Telerik.Web.UI.GridSortCommandEventArgs e){ DataView DashGridData = Session["DashboardGridData"] as DataView; if (DashGridData != null) { DashGridData.Sort = e.SortExpression + " " + GetSortDirection(e.SortExpression); // GetSortDirection() is some function that returns ASC & DESC alternatively DashboardGrid.DataSource = DashGridData; DashboardGrid.Rebind(); }}<div id="GridShowCaseDivision" runat="server" style="width: 100%; position: absolute; height: 100%; right: 0; top: 10"> <telerik:RadRotator ID="GridShowCaseRotator" runat="server" Width="60%" ItemHeight="100%" Height="35%" WrapFrames="false" ItemWidth="50%" RegisterWithScriptManager="true" RotatorType="Buttons" Visible="true"> <Items> <telerik:RadRotatorItem Width="15%"> <ItemTemplate> <Dashboard:IconGrid runat="server" ID="EventGrid" DatabaseEnum="4" HasStoredProcedure="false" QueryOrStoredProcedure=" VALID AND TESTED SQL QUERY" /> </ItemTemplate> </telerik:RadRotatorItem> </Items> </telerik:RadRotator> </div><telerik:RadGrid ID="gvMain" runat="server" AutoGenerateColumns="false" Skin="Metro_JS" EnableEmbeddedSkins="false" AllowSorting="true" AllowAutomaticUpdates="false" AllowAutomaticInserts="false" AllowAutomaticDeletes="false"> <ClientSettings EnableRowHoverStyle="true" AllowKeyboardNavigation="true"> <ClientEvents OnKeyPress="GridKeyPress" OnCommand="onEditCommand" /> <KeyboardNavigationSettings AllowSubmitOnEnter="true" AllowActiveRowCycle="true" /> </ClientSettings> <MasterTableView EnableNoRecordsTemplate="true" DataKeyNames="ID" AllowCustomSorting="true" EditMode="InPlace" Name="Discount"> <HeaderStyle CssClass="StandardText" /> <ItemStyle CssClass="Clickable" /> <AlternatingItemStyle CssClass="Clickable" /> <NoRecordsTemplate> <asp:Panel ID='pnlEmpty' runat='server' style='position: relative; width: 100%; height: 30px;'> <asp:Label ID='lblEmpty' runat='server' Text='No Results Found' style='font-weight: bold; position: absolute; top: 10px; left: 10px;' CssClass='StandardText' /> </asp:Panel> </NoRecordsTemplate> <Columns> <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="DiscountName" MaxLength="100" ItemStyle-Width="600px"></telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Start Date" ItemStyle-Width="160px"> <ItemTemplate> <asp:Label ID='lblStartDate' runat='server' Text='' CssClass='StandardText' /> </ItemTemplate> <EditItemTemplate> <telerik:RadDatePicker ID="rdpStartDate" runat="server" Width="150px"> </telerik:RadDatePicker> <asp:RequiredFieldValidator ID="valAmount" ControlToValidate="rdpStartDate" runat="server" Text="*" SetFocusOnError="True" Display="Dynamic" EnableViewState="true" ErrorMessage="Please enter a start date"></asp:RequiredFieldValidator> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="End Date" ItemStyle-Width="160px"> <ItemTemplate> <asp:Label ID='lblFinishDate' runat='server' Text='' CssClass='StandardText' /> </ItemTemplate> <EditItemTemplate> <telerik:RadDatePicker ID="rdpFinishDate" runat="server" Width="150px"> </telerik:RadDatePicker> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn" ItemStyle-CssClass="EditColumn" UpdateImageUrl="../Images/tick-icon.png" CancelImageUrl="../Images/arrow-undo-icon.png" InsertImageUrl="../Images/tick-icon.png" /> <telerik:GridTemplateColumn ItemStyle-CssClass="DeleteColumn" UniqueName="DeleteColumn"> <ItemTemplate> <asp:ImageButton ID="imgDelete" runat="server" ImageUrl="~/Images/cross.png" CommandName="Delete" ToolTip="Delete" OnClientClick="return confirm('Are you sure you want to delete this Discount?');" CommandArgument='<%# Eval("ID") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <DetailTables> <telerik:GridTableView AllowAutomaticUpdates="false" AllowAutomaticInserts="false" AllowAutomaticDeletes="false" DataKeyNames="ID" Name="DiscountItem" ShowHeader="false" EditMode="InPlace" AllowPaging="true" PagerStyle-Position="Bottom" AllowCustomPaging="true"> <SortExpressions> <telerik:GridSortExpression FieldName="SortOrder" SortOrder="Ascending" /> </SortExpressions> <ItemStyle CssClass="Clickable" /> <AlternatingItemStyle CssClass="Clickable" /> <NoRecordsTemplate> <asp:Panel ID='pnlEmpty' runat='server' style='position: relative; width: 100%; height: 30px;'> <asp:Label ID='lblEmpty' runat='server' Text='No Results Found' style='font-weight: bold; position: absolute; top: 10px; left: 10px;' CssClass='StandardText' /> </asp:Panel> </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn ItemStyle-Width="750px"> <ItemTemplate> <asp:Panel ID='pnlMessage' runat='server' Width="750px" Height="20px"> <asp:Label ID="lblCustomerClause" runat="server" Text="When [Customer] orders "></asp:Label> <asp:Label ID="lblQuantityClause" runat="server" Text="between [Min] and [Max] "></asp:Label> <asp:Label ID="lblItemClause" runat="server" Text="of [Item] "></asp:Label> <asp:Label ID="lblPriceClause" runat="server" Text="the price is [discount_type][discount_value]. "></asp:Label> </asp:Panel> </ItemTemplate> <EditItemTemplate> <asp:Panel ID='pnlEditMessage' runat='server' Width="750px"> <asp:Label ID="lblCustomerClause1" runat="server" Text="When " style='position: relative; top: 3px;'></asp:Label> <telerik:RadComboBox ID="cboCustomerOrGroup" runat="server" Skin="Metro_JobSync" EnableEmbeddedSkins="false" OnClientSelectedIndexChanged="selectCustomerOrGroup"> <Items> <telerik:RadComboBoxItem Text="Customer" Value="C" /> <telerik:RadComboBoxItem Text="Customer Group" Value="G" /> </Items> </telerik:RadComboBox> <asp:TextBox ID='txtCustomer' runat='server' style='width: 120px;' CssClass='StandardText txtCustomer' onkeydown='invalidateCustomerMain();' /> <ajax:AutoCompleteExtender runat='server' ID='acTxtCustomer' TargetControlID='txtCustomer' ServicePath='~/Ajax.asmx' ServiceMethod='SearchCustomer' MinimumPrefixLength='3' CompletionSetCount='10' CompletionInterval='1' CompletionListHighlightedItemCssClass='searchTextMouseOver' CompletionListItemCssClass='searchText' EnableCaching='false' OnClientItemSelected='gridCustomerClicked' FirstRowSelected='true' CompletionListCssClass='searchBox' /> <asp:TextBox ID='hidCustomerID' CssClass="hidCustomerID" style="display: none;" runat='server' Text='0'></asp:TextBox> <asp:TextBox ID='txtCustomerDiscountGroup' runat='server' style='width: 120px;' CssClass='StandardText txtCustomerDiscountGroup' onkeydown='invalidateCustomerMain();' /> <ajax:AutoCompleteExtender runat='server' ID='acCustomerDiscountGroup' TargetControlID='txtCustomerDiscountGroup' ServicePath='~/Ajax.asmx' ServiceMethod='SearchCustomerDiscountGroup' MinimumPrefixLength='1' CompletionSetCount='10' CompletionInterval='1' CompletionListHighlightedItemCssClass='searchTextMouseOver' CompletionListItemCssClass='searchText' EnableCaching='false' FirstRowSelected='true' CompletionListCssClass='searchBox' /> <asp:Label ID="lblCustomerClause2" runat="server" Text=" orders " style='position: relative; top: 3px;'></asp:Label> <telerik:RadComboBox ID="cboQuantityType" runat="server" Width="80px" Skin="Metro_JobSync" EnableEmbeddedSkins="false" OnClientSelectedIndexChanged="selectQuantityType"> <Items> <telerik:RadComboBoxItem Text="up to" Value="<" /> <telerik:RadComboBoxItem Text="at least" Value=">" /> <telerik:RadComboBoxItem Text="between" Value="><" /> </Items> </telerik:RadComboBox> <telerik:RadNumericTextBox runat="server" ID="txtMinQuantity" CssClass="txtMinQuantity" Width="60px"></telerik:RadNumericTextBox> <asp:Label ID="lblQuantityClause2" runat="server" Text=" and " CssClass="lblQuantityClause2" style='position: relative; top: 3px;'></asp:Label> <telerik:RadNumericTextBox runat="server" ID="txtMaxQuantity" CssClass="txtMaxQuantity" Width="60px"></telerik:RadNumericTextBox> <telerik:RadComboBox ID="cboItemOrCategory" runat="server" Width="140px" Skin="Metro_JobSync" EnableEmbeddedSkins="false" OnClientSelectedIndexChanged="selectItemOrCategory"> <Items> <telerik:RadComboBoxItem Text="of item" Value="I" /> <telerik:RadComboBoxItem Text="from item category" Value="C" /> </Items> </telerik:RadComboBox> <asp:TextBox ID='txtItem' runat='server' style='width: 170px;' CssClass='StandardText txtItem' onkeydown='invalidateItemMain();' /> <ajax:AutoCompleteExtender runat='server' ID='acTxtItem' TargetControlID='txtItem' ServicePath='~/Ajax.asmx' ServiceMethod='SearchItemDistinctName' MinimumPrefixLength='3' CompletionSetCount='10' CompletionInterval='1' CompletionListHighlightedItemCssClass='searchTextMouseOver' CompletionListItemCssClass='searchText' EnableCaching='false' OnClientItemSelected='gridItemClicked' FirstRowSelected='true' CompletionListCssClass='searchBox' /> <asp:TextBox ID='hidItemID' CssClass='hidItemID' style="display: none;" runat='server' Text='0'></asp:TextBox> <asp:Label ID="lblLocationClause" runat="server" Text=" from " CssClass="lblLocationClause" style='position: relative; top: 3px;'></asp:Label> <telerik:RadComboBox ID="cboLocation" runat="server" Skin="Metro_JobSync" EnableEmbeddedSkins="false"> </telerik:RadComboBox> <telerik:RadComboBox ID="cboItemCategory" runat="server" Width="312px" ShowToggleImage="True" AutoPostBack="true" Style="vertical-align: middle;" OnClientDropDownOpened="OnClientDropDownOpenedHandler" ExpandAnimation-Type="None" CollapseAnimation-Type="None" Skin="Metro_JobSync" EnableEmbeddedSkins="false"> <ItemTemplate> <asp:Panel ID='pnlTreeView' runat='server' onclick='StopPropagation(event);'> <telerik:RadTreeView ID="tvItemCategory" runat="server" style='position: relative; width: 292px; z-index: 10; color: Black;' Skin="Metro_JobSync" EnableEmbeddedSkins="false"> </telerik:RadTreeView> </asp:Panel> </ItemTemplate> <Items> <telerik:RadComboBoxItem Text="" CssClass="TreeViewWrapper" /> </Items> </telerik:RadComboBox> <asp:Label ID="lblPriceClause" runat="server" Text="the price " style='position: relative; top: 3px;'></asp:Label> <telerik:RadComboBox ID="cboDiscountType" runat="server" Width="170px" Skin="Metro_JobSync" EnableEmbeddedSkins="false"> <Items> <telerik:RadComboBoxItem Text="is discounted by amount " Value="1" /> <telerik:RadComboBoxItem Text="is discounted by percentage " Value="2" /> <telerik:RadComboBoxItem Text="is set to" Value="3" /> </Items> </telerik:RadComboBox> <telerik:RadNumericTextBox runat="server" ID="txtDiscountValue" Width="60px"></telerik:RadNumericTextBox> </asp:Panel> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn" ItemStyle-CssClass="EditColumn" UpdateImageUrl="../Images/tick-icon.png" CancelImageUrl="../Images/arrow-undo-icon.png" InsertImageUrl="../Images/tick-icon.png" /> <telerik:GridTemplateColumn ItemStyle-CssClass="DeleteColumn" UniqueName="DeleteColumn" ItemStyle-Width="25px"> <ItemTemplate> <asp:ImageButton ID="imgDelete" runat="server" ImageUrl="~/Images/cross.png" CommandName="Delete" ToolTip="Delete" OnClientClick="return confirm('Are you sure you want to delete this Discount Item?');" CommandArgument='<%# Eval("ID") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> </MasterTableView></telerik:RadGrid>
For Each dataItem As GridDataItem In rgd_Tasks.Items