| GridFilterMenu filterMenu = MaintenanceGrid.FilterMenu; |
| RadMenuItem menuItem = new RadMenuItem("Valid", "Contains"); |
| filterMenu.Items.Add(menuItem); |
| if (filterPair.First.ToString().Equals("Custom")) |
| { |
| string columName = filterPair.Second.ToString(); |
| TextBox tbPattern = (e.Item as GridFilteringItem)[columName].Controls[0] as TextBox; |
| string[] values = tbPattern.Text.Split(' '); |
| // string newFilter = "(([" + filterPair.Second + "] ='" + values[0] + "') AND ([" + filterPair.Second + "] ='" + values[1] + "'))"; |
| string newFilter = "(([" + filterPair.Second + "] ='" + values[0] + "'))"; |
| if (MaintenanceGrid.MasterTableView.FilterExpression == "") |
| { |
| MaintenanceGrid.MasterTableView.FilterExpression = newFilter; |
| } |
| else |
| { |
| MaintenanceGrid.MasterTableView.FilterExpression = "((" + |
| MaintenanceGrid.MasterTableView.FilterExpression + ") AND (" + newFilter + "))"; |
| } |
| MaintenanceGrid.Rebind(); |
| } |
Hi,
I am having a problem in sending radgrid data in Email
scenario: I have a radgrid on my web form, I want to send that data grid data in mail by clicking on mailto: button
what I am doing: I am capturing the innerhtml which lies in <div></div> tags and sending to mail
what happening : innerhtml or html source is directly going into mail and when copy that source and save it as in html format, and when i opens the stored html file I can see the grid data.
The following is code which I used :
| <script type="text/javascript"> |
| function OpenOutlookDoc() |
| { |
| try |
| { |
| var outlookApp = new ActiveXObject("Outlook.Application"); |
| var nameSpace = outlookApp.getNameSpace("MAPI"); |
| mailFolder = nameSpace.getDefaultFolder(6); |
| mailItem = mailFolder.Items.add('IPM.Note.FormA'); |
| mailItem.Subject="a subject test"; |
| mailItem.To = "an@email.here"; |
| mailItem.HTMLBody = "<b>bold</b>"; |
| mailItem.display (0); |
| } |
| catch(e) |
| { |
| alert(e); |
| } |
| } |
| function sanitizeHTML(s) |
| { |
| var d = document.createElement('div'); |
| d.appendChild(document.createTextNode(s)); |
| return d.innerHTML; |
| } |
| function SendMail(ctrl) |
| { |
| // var h = sanitizeHTML(window.document.getElementById("dvMail").outerHTML); |
| // alert(h); |
| // //window.document.getElementById("dvMail").innerHTML = "<pre>" + h + "</pre>"; |
| // ctrl.href.innerHTML = "<pre>" + h + "</pre>"; |
| // //alert(ctrl.href); |
| ctrlctrl.href = ctrl.href.replace("##body##", window.document.getElementById("dvMail").innerHTML); |
| alert(ctrl.href); |
| return true; |
| } |
| </script> |
| <a href="mailto:rama.k@abc.com">Email</a> |
| <a href="mailto:rama.k@abc.com?subject=my report &body=see attachment &attachment=\\myhost\myfolder\myfile.lis"></a> |
| <br /> |
| <a onclick="Javascript:return SendMail(this);" href="mailto:rama.k@abc.com?subject=RadGrid&body=##body##">Send me an email</a> |
| <br /> |
| <a href="mailto:rama.k@abc.com?subject=Feedback for |
| webdevelopersnotes.com&body=The Tips and Tricks section is great |
| &cc=anotheremailaddress@anotherdomain.com |
| &bcc=onemore@anotherdomain.com">Send me an email with cc,bcc</a><br /> |
| <br /> |
| <a href='mailto:rama.k@abc.com?subject=Software&body=see attachment&attachment="C:/certreq.txt"'> |
| Try with attachment<br /> |
| </a> |
| <a href="mailto:someone@somewhere.net?attachment=\\cheese02\Scans\invoices\1234\1234.tif"></a> |
| <br /> |
| <script language="javascript" type="text/javascript"> |
| function string strdestination() |
| { |
| return 'mailto:email@email.com?subject=Software&body=see attachment&attachment="L:/Parallel Drivers/Win 2k-xp.zip"' |
| } |
| </script> |
| <div id="dvMail"> |
| <telerik:radgrid id="RadGrid1" runat="server" datasourceid="ObjectDataSource1" gridlines="None"> |
| <MasterTableView DataSourceID="ObjectDataSource1"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <FilterMenu EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:radgrid> |
| </div> |
| <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetData" |
| TypeName="UserWorkloadManipulation"></asp:ObjectDataSource> |
so, to see the radgrid data in mail what shoul I do?
can any one help
Thanks,

calc1 = New GridCalculatedColumn
calcCol1(0) = "MTD_Used"
calcCol1(1) = "MTD_Available"
With calc1
.HeaderText = "MTD %"
.UniqueName = "MTDP"
.DataFields = calcCol1
.Expression = "{0}/{1}*100"
.HeaderStyle.HorizontalAlign = HorizontalAlign.Right
.HeaderStyle.Wrap = True
.ItemStyle.HorizontalAlign = HorizontalAlign.Right
.DataFormatString = "{0:N2}%"
.Aggregate = GridAggregateFunction.Avg
.FooterAggregateFormatString = "{0:N2}%"
.FooterStyle.HorizontalAlign = WebControls.HorizontalAlign.Right
.FooterStyle.Font.Bold = True
End With
Table1.MasterTableView.Columns.AddAt(3, calc1)
Table1.DataBind()
Using Version 2008.3.1125.35
Rob
| <%@ Page Language="VB" AutoEventWireup="true" CodeFile="DefaultStartUpPage.aspx.vb" Inherits="DefaultStartUpPage" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!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>MyPims</title> |
| </head> |
| <body> |
| <form runat="server" id="mainForm" method="post" style="width: 100%"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1"> |
| <asp:Image runat="server" ID="LoadingImage1" ImageUrl="Images\Loading.gif" AlternateText="Loading..." /> |
| </telerik:RadAjaxLoadingPanel> |
| <telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" EnableAJAX="true" OnAjaxRequest="RadAjaxManager1_AjaxRequest"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadTabStrip1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadMultiPage1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" /> |
| <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| function onTabSelecting(sender, args) { |
| if (args.get_tab().get_pageViewID()) { |
| args.get_tab().set_postBack(false); |
| } |
| } |
| function pageLoad() { |
| loadNextPageView(); |
| } |
| function loadNextPageView() { |
| $find("RadAjaxManager1").ajaxRequest($find("RadMultiPage1").get_pageViews().get_count()); |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <div> |
| <telerik:RadTabStrip OnClientTabSelecting="onTabSelecting" ID="RadTabStrip1" SelectedIndex="0" Skin="Inox" |
| runat="server" MultiPageID="RadMultiPage1" OnTabClick="RadTabStrip1_TabClick"> |
| </telerik:RadTabStrip> |
| <telerik:RadMultiPage ID="RadMultiPage1" Width="100%" Height="500px" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated"> |
| </telerik:RadMultiPage> |
| <input id="cCurrentDomain" type="text" runat="server" style="display:none"/> |
| </div> |
| </form> |
| </body> |
| </html> |
| Imports System |
| Imports Telerik.Web.UI |
| Imports Appframe3.Common.Data |
| Imports Appframe3.Web.Common |
| Partial Class DefaultStartUpPage |
| Inherits System.Web.UI.Page |
| Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) |
| If Not Page.IsPostBack Then |
| AddTab("MyActions") |
| 'AddPageView(RadTabStrip1.FindTabByText("My Actions")) |
| AddPageView(RadTabStrip1.FindTabByText("MyActions")) |
| AddTab("MyResponsibilities") |
| 'AddPageView("MyResponsibilities") |
| AddTab("MyRisks") |
| 'AddPageView("MyRisks") |
| AddTab("MyStatistics") |
| 'AddPageView("MyStatistics") |
| SetCurDomain() |
| End If |
| End Sub |
| Private Sub SetCurDomain() |
| Dim vRecordSource As New afRecordSource |
| vRecordSource.ViewName = "stbv_System_Users" |
| vRecordSource.SelectColumns.Add("CurrentDomain") |
| vRecordSource.WhereClause = "Login = SUSER_SNAME()" |
| Dim vCurDomain As String = afAccessLayer.GetDataScalar(vRecordSource).ToString() |
| cCurrentDomain.Value = vCurDomain |
| End Sub |
| Private Sub AddTab(ByVal tabName As String) |
| Dim tab As RadTab = New RadTab |
| tab.Text = tabName |
| tab.Style.Add("font-weight", "bold") |
| RadTabStrip1.Tabs.Add(tab) |
| End Sub |
| Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As RadMultiPageEventArgs) 'Handles RadMultiPage1.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 |
| Private Sub AddPageView(ByVal tab As RadTab) |
| Dim pageView As RadPageView = New RadPageView |
| pageView.ID = tab.Text |
| RadMultiPage1.PageViews.Add(pageView) |
| tab.PageViewID = pageView.ID |
| End Sub |
| Protected Sub RadTabStrip1_TabClick(ByVal sender As Object, ByVal e As RadTabStripEventArgs) 'Handles RadTabStrip1.TabClick |
| AddPageView(e.Tab) |
| e.Tab.PageView.Selected = True |
| End Sub |
| Protected Sub RadAjaxManager1_AjaxRequest(ByVal sender As Object, ByVal e As AjaxRequestEventArgs) |
| Dim pageView As Integer = Convert.ToInt32(e.Argument) |
| AddPageView(RadTabStrip1.Tabs(pageView)) |
| If pageView < RadTabStrip1.Tabs.Count - 1 Then |
| RadAjaxManager1.ResponseScripts.Add("loadNextPageView()") |
| End If |
| End Sub |
| End Class |
| <%@ Control Language="VB" AutoEventWireup="true" CodeFile="MyActions.ascx.vb" Inherits="MyActions" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX="true"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="cShow" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForText" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForBtn" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="cShow"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="cShow" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForText" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForBtn" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="cSearchForBtn"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="cShow" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForText" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForBtn" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="cSearchForText"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| <telerik:AjaxUpdatedControl ControlID="cShow" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForText" /> |
| <telerik:AjaxUpdatedControl ControlID="cSearchForBtn" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" |
| Width="75px" Transparency="20"> |
| <img alt="Loading..." src='Images\Loading.gif' style="border: 0;" /> |
| </telerik:RadAjaxLoadingPanel> |
| <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> |
| <script type="text/javascript"> |
| function RowDblClick(sender, eventArgs) { |
| var grid = $find("<%=RadGrid1.ClientID %>"); |
| var MasterTable = grid.get_masterTableView(); |
| var vElementNo; |
| var vRevision = "01"; |
| var vDomain; |
| var vCurrentDomain; |
| var selectedRows = MasterTable.get_selectedItems(); |
| for (var i = 0; i < selectedRows.length; i++) { |
| var row = selectedRows[i]; |
| vElementNo = MasterTable.getCellByColumnUniqueName(row, "ElementNo") |
| vDomain = MasterTable.getCellByColumnUniqueName(row, "Domain") |
| //here ElementNo.innerHTML / Domain.innerHTML holds the value of the cell |
| } |
| if (vDomain.innerHTML != document.getElementById('cCurrentDomain').innerHTML) { |
| } |
| else |
| { |
| } |
| } |
| </script> |
| </telerik:RadCodeBlock> |
| <table style="width: 90%; height: 100%;"> |
| <tr> |
| <td> |
| <table style="height:40px"> |
| <tr> |
| <td style="width: 10px"> |
| Show: |
| </td> |
| <td style="width: 150px"> |
| <asp:DropDownList AutoPostBack="true" OnSelectedIndexChanged="cShow_SelectedIndexChanged" |
| ID="cShow" runat="server" Width="150px"> |
| <asp:ListItem Value="0" Selected="True">Ready for sign</asp:ListItem> |
| <asp:ListItem Value="1">Not ready for sign</asp:ListItem> |
| <asp:ListItem Value="2">All responsibilities</asp:ListItem> |
| <asp:ListItem Value="3">Completed Actions</asp:ListItem> |
| <%--<asp:ListItem Value="4">Originated Actions</asp:ListItem>--%> |
| </asp:DropDownList> |
| </td> |
| <td style="width:10px"></td> |
| <td style="width: 60px"> |
| Filter For: |
| </td> |
| <td style="width: 200px"> |
| <telerik:RadTextBox ID="cSearchForText" Width="200px" runat="server" Skin="Office2007" AutoPostBack="true" OnTextChanged="RadTextBox1_TextChanged"> |
| </telerik:RadTextBox> |
| </td> |
| <td style="width: 50px"> |
| <asp:Button ID="cSearchForBtn" runat="server" Text="Search" OnClick="cSearchForBtn_Click" /> |
| </td> |
| <td style="width:10px"></td> |
| <td style="width:440px"> |
| <table style="height: 20px; font-family: Arial; font-size: 8pt"> |
| <tr> |
| <td style="width: 16px;"> |
| <img src="Images/arrow_right.gif" alt="Overdue" /></td> |
| <td style="width: 75px;"> |
| Next To Sign</td> |
| <td style="width: 10px"> |
| </td> |
| <td style="width: 16px;"> |
| <img src="Images/bubble_red.jpg" alt="Overdue" /></td> |
| <td style="width: 45px;"> |
| Overdue</td> |
| <td style="width: 10px"> |
| </td> |
| <td style="width: 16px;"> |
| <img src="Images/bubble_orange.jpg" alt="DueWithin3Days" /></td> |
| <td style="width: 110px;"> |
| Due within 3 days</td> |
| <td style="width: 10px"> |
| </td> |
| <td style="width: 16px;"> |
| <img src="Images/bubble_green.jpg" alt="WithinAcceptableLimits" /></td> |
| <td style="width: 120px;"> |
| Within acceptable limits</td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <telerik:RadGrid ID="RadGrid1" AllowSorting="true" AllowMultiColumnSorting="true" |
| ShowStatusBar="true" Skin="Office2007" ShowFooter="True" GridLines="None" AllowPaging="false" |
| PageSize="50" runat="server" Height="500px"> |
| <HeaderContextMenu Skin="Office2007" EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <PagerStyle Mode="NumericPages" /> |
| <SortingSettings SortedBackColor="Azure" /> |
| <MasterTableView> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <SelectedItemStyle BackColor="#CCCCCC" /> |
| <ClientSettings> |
| <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True"> |
| </Scrolling> |
| <Selecting AllowRowSelect="true" /> |
| <ClientEvents OnRowDblClick="RowDblClick" /> |
| </ClientSettings> |
| <FilterMenu Skin="Office2007" EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:RadGrid> |
| </td> |
| </tr> |
| <input id="hdnCurrentDomain" type="text" runat="server" style="display:none" /> |
| </table> |
| Imports System |
| Imports System.Data |
| Imports System.Configuration |
| Imports System.Collections |
| Imports System.Web |
| Imports System.Web.Security |
| Imports System.Web.UI |
| Imports System.Web.UI.WebControls |
| Imports System.Web.UI.WebControls.WebParts |
| Imports System.Web.UI.HtmlControls |
| Imports System.Xml |
| Imports System.Text |
| Imports Appframe3.Common.Data |
| Imports Appframe3.Web.Common |
| Imports Telerik.Web.UI |
| Partial Class MyActions |
| Inherits System.Web.UI.UserControl |
| Private Const gMaxDays As Integer = 999999 |
| Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) |
| SetDomainSettings() |
| RadGrid1.Columns.Clear() |
| GetElements() |
| End Sub |
| Private Sub SetDomainSettings() |
| End Sub |
| Private Sub GetElements() |
| Dim vRecSrc As New afRecordSource("sviw_System_GetDomainName") |
| vRecSrc.SelectColumns.Add("DomainName") |
| Dim vDomain As String = afAccessLayer.GetDataScalar(vRecSrc).ToString().ToUpper() |
| Dim vOrderBy As String |
| Dim vDataTable As DataTable |
| Dim vProcedure As New afProcedureCall |
| vProcedure.ProcedureName = "astp_Changes_MissingActions" |
| vDataTable = afAccessLayer.ExecProcedure(vProcedure).Tables(0) |
| vOrderBy = "NextToSign DESC, NumberDays ASC, ElementNo, Title" |
| Dim vSearchText As String = "" |
| vSearchText = "ISNULL(Domain,'') + ISNULL(ElementNo,'') + ISNULL(Title,'') + ISNULL(Priority,'') + ISNULL(DisplayColumnName,'') Like '%" + cSearchForText.Text.Trim + "%'" |
| If cShow.SelectedValue <> "4" And cShow.SelectedValue <> "3" Then |
| vSearchText += " AND " |
| If cShow.SelectedValue = "0" Then |
| vSearchText += "NextToSign=1 AND Display = 1" |
| ElseIf cShow.SelectedValue = "1" Then |
| vSearchText += "NextToSign IS NULL AND Display = 1" |
| ElseIf cShow.SelectedValue = "2" Then |
| vSearchText += "Display = 1" |
| End If |
| End If |
| For Each vR As DataRow In vDataTable.Rows |
| If vR.IsNull("NumberDays") Then |
| vR("NumberDays") = gMaxDays |
| End If |
| Next |
| RadGrid1.AutoGenerateColumns = False |
| RadGrid1.DataSource = vDataTable.[Select](vSearchText, vOrderBy) |
| RadGrid1.Width = Unit.Pixel(960) |
| 'RadGrid1.Height = Unit.Percentage(100) |
| Dim vColumnImage As New GridTemplateColumn |
| RadGrid1.Columns.Add(vColumnImage) |
| vColumnImage.UniqueName = "ImgColumn" |
| vColumnImage.HeaderText = "" |
| vColumnImage.ItemStyle.Width = Unit.Pixel(10) |
| Dim vColumn As New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "Domain" |
| vColumn.HeaderText = "Domain" |
| vColumn.UniqueName = "Domain" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(40) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "NextToSign" |
| vColumn.HeaderText = "" |
| vColumn.UniqueName = "NextToSign" |
| vColumn.Visible = False |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "ElementNo" |
| vColumn.HeaderText = "Action No" |
| vColumn.UniqueName = "ElementNo" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(150) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "Revision" |
| vColumn.HeaderText = "Rev" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(20) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "Title" |
| vColumn.HeaderText = "Title" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(250) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "Priority" |
| vColumn.HeaderText = "Priority" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(50) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "DueDate" |
| vColumn.HeaderText = "Due Date" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(50) |
| vColumn.DataFormatString = "{0:d}" |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "NumberDays" |
| vColumn.HeaderText = "" |
| vColumn.UniqueName = "NumberDays" |
| vColumn.AllowSorting = True |
| vColumn.ItemStyle.Width = Unit.Pixel(50) |
| vColumnImage = New GridTemplateColumn |
| RadGrid1.Columns.Add(vColumnImage) |
| vColumnImage.UniqueName = "ColorColumn" |
| vColumnImage.HeaderText = "" |
| vColumnImage.ItemStyle.Width = Unit.Pixel(10) |
| vColumn = New GridBoundColumn |
| RadGrid1.Columns.Add(vColumn) |
| vColumn.DataField = "DisplayColumnName" |
| vColumn.UniqueName = "DisplayColumnName" |
| vColumn.HeaderText = "Action Responsibility" |
| vColumn.AllowSorting = True |
| vColumn.Aggregate = GridAggregateFunction.Count |
| vColumn.FooterText = "Total Actions: " |
| vColumn.ItemStyle.Width = Unit.Pixel(75) |
| End Sub |
| Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If TypeOf e.Item Is GridDataItem Then |
| Dim item As GridDataItem = TryCast(e.Item, GridDataItem) |
| If item("NextToSign").Text = "True" Then |
| Dim img As New Image() |
| img.ID = "Image1" |
| img.ImageUrl = "Images/arrow_right.gif" |
| item("ImgColumn").Controls.Add(img) |
| End If |
| ' Add coloring for items. |
| Dim dataBoundItem As GridDataItem = e.Item |
| Dim imgRed As New Image() |
| imgRed.ID = "ImageRed" |
| imgRed.ImageUrl = "Images/bubble_red.jpg" |
| Dim imgOrange As New Image() |
| imgOrange.ID = "ImageOrange" |
| imgOrange.ImageUrl = "Images/bubble_orange.jpg" |
| Dim imgGreen As New Image() |
| imgGreen.ID = "ImageGreen" |
| imgGreen.ImageUrl = "Images/bubble_green.jpg" |
| 'Days left |
| Dim vDaysLeft As String = "" |
| Dim vDays As Int32 = Integer.Parse(dataBoundItem("NumberDays").Text) |
| If vDays < gMaxDays Then |
| vDaysLeft = vDays.ToString() |
| Else |
| vDaysLeft = "N/A" |
| End If |
| If vDays < 0 Then |
| item("ColorColumn").Controls.Add(imgRed) |
| ElseIf vDays < 4 Then |
| item("ColorColumn").Controls.Add(imgOrange) |
| ElseIf cShow.SelectedValue = "3" Or dataBoundItem("DisplayColumnName").Text = "Action Closed" Or dataBoundItem("DisplayColumnName").Text = "VOID" Or dataBoundItem("DisplayColumnName").Text = "Info" Then |
| 'do nothing |
| Else |
| item("ColorColumn").Controls.Add(imgGreen) |
| End If |
| dataBoundItem("NumberDays").Text = vDaysLeft |
| End If |
| End Sub |
| Private Sub RadGrid1_PageIndexChanged(ByVal source As Object, ByVal e As GridPageChangedEventArgs) Handles RadGrid1.PageIndexChanged |
| GetElements() |
| End Sub |
| Public Sub RadGrid1_SortCommand(ByVal source As Object, ByVal e As GridSortCommandEventArgs) Handles RadGrid1.SortCommand |
| 'RadGrid1.Columns.Clear() |
| 'GetElements() |
| RadGrid1.MasterTableView.Rebind() |
| End Sub |
| Protected Sub cShow_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) 'Handles cShow.SelectedIndexChanged |
| RadGrid1.MasterTableView.Rebind() |
| End Sub |
| Protected Sub cSearchForBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Handles cSearchForBtn.Click |
| RadGrid1.MasterTableView.Rebind() |
| End Sub |
| Protected Sub RadTextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) |
| RadGrid1.MasterTableView.Rebind() |
| End Sub |
| End Class |