or
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: The control with ID 'rgAutoshipLeft' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
|
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
| <radg:radgrid id="dgDep" runat="server" allowsorting="True" |
| autogeneratecolumns="False" gridlines="None" Width="689px" Skin="WebBlue"> |
| <MasterTableView DataKeyNames="ContactID,ContactIndic" HierarchyLoadMode="Client"> |
| <Columns> |
| <radG:GridBoundColumn DataField="ContactID" Display="False" HeaderText="UniqueNumber" |
| ReadOnly="True" UniqueName="UniqueNumber, ContactIndic"> |
| </radG:GridBoundColumn> |
| <radG:GridEditCommandColumn HeaderText="Edit" UniqueName="EditCommandColumn1"> |
| </radG:GridEditCommandColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" ReadOnly="True" |
| UniqueName="Contact"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Ext" HeaderText="Extension" ReadOnly="True" |
| UniqueName="Ext"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Fax" HeaderText="Fax" UniqueName="Fax"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP"> |
| </radG:GridBoundColumn> |
| <radG:GridTemplateColumn DataField="ContactIndic" HeaderText="Live" UniqueName="ContactIndic"> |
| <ItemTemplate> |
| <asp:CheckBox ID="cbIndic" runat="server" Enabled="false" /> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <asp:CheckBox ID="EditLive" runat="server" Checked='<%# Bind("ContactIndic")%>' /> |
| </EditItemTemplate> |
| </radG:GridTemplateColumn> |
| </Columns> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <DetailTables> |
| <radG:GridTableView runat="server" HierarchyLoadMode="ServerBind"> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn Visible="False"> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <radG:GridBoundColumn DataField="DepID" Display="False" HeaderText="UniqueNumber1" |
| ReadOnly="True" UniqueName="DepID"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" UniqueName="Contact1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="EXT" HeaderText="Ext" UniqueName="Ext1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP1"> |
| </radG:GridBoundColumn> |
| </Columns> |
| <ParentTableRelation> |
| <radG:GridRelationFields DetailKeyField="DepID" MasterKeyField="ContactID" /> |
| </ParentTableRelation> |
| </radG:GridTableView> |
| </DetailTables> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"> |
| </ClientSettings> |
| </radg:radgrid> |
| Protected Sub dgDep_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.WebControls.GridItemEventArgs) Handles dgDep.ItemDataBound |
| 'If TypeOf e.Item Is GridDataItem Then |
| If TypeOf e.Item Is GridDataItem AndAlso (e.Item.OwnerTableView Is dgDep.MasterTableView) Then |
| Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) |
| Dim strChk As String = item.GetDataKeyValue("ContactIndic").ToString() |
| Dim chkbx As CheckBox = DirectCast(item("ContactIndic").FindControl("cbIndic"), CheckBox) |
| Dim DepID As String = item.GetDataKeyValue("ContactID").ToString() |
| If strChk = "1" Then |
| chkbx.Checked = True |
| Else |
| chkbx.Checked = False |
| End If |
| Dim getDS2 As New DataSet |
| getDS2 = dataConn.PhoneGetEachDep(DepID) |
| dgDep.MasterTableView.DetailTables.Item(0).DataSource = getDS2 |
| End If |
| End Sub |
| Protected Sub dgDep_NeedDataSource(ByVal source As Object, ByVal e As Telerik.WebControls.GridNeedDataSourceEventArgs) Handles dgDep.NeedDataSource |
| Dim getDS As New DataSet |
| getDS = dataConn.AllDep() |
| dgDep.DataSource = getDS.Tables(0).DefaultView |
| End Sub |
| <radg:radgrid id="dgDep" runat="server" allowsorting="True" |
| autogeneratecolumns="False" gridlines="None" Width="689px" Skin="WebBlue"> |
| <MasterTableView DataKeyNames="ContactID,ContactIndic" HierarchyLoadMode="Client"> |
| <Columns> |
| <radG:GridBoundColumn DataField="ContactID" Display="False" HeaderText="UniqueNumber" |
| ReadOnly="True" UniqueName="UniqueNumber, ContactIndic"> |
| </radG:GridBoundColumn> |
| <radG:GridEditCommandColumn HeaderText="Edit" UniqueName="EditCommandColumn1"> |
| </radG:GridEditCommandColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" ReadOnly="True" |
| UniqueName="Contact"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Ext" HeaderText="Extension" ReadOnly="True" |
| UniqueName="Ext"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Fax" HeaderText="Fax" UniqueName="Fax"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP"> |
| </radG:GridBoundColumn> |
| <radG:GridTemplateColumn DataField="ContactIndic" HeaderText="Live" UniqueName="ContactIndic"> |
| <ItemTemplate> |
| <asp:CheckBox ID="cbIndic" runat="server" Enabled="false" /> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <asp:CheckBox ID="EditLive" runat="server" Checked='<%# Bind("ContactIndic")%>' /> |
| </EditItemTemplate> |
| </radG:GridTemplateColumn> |
| </Columns> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <DetailTables> |
| <radG:GridTableView runat="server" HierarchyLoadMode="ServerBind"> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn Visible="False"> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <radG:GridBoundColumn DataField="DepID" Display="False" HeaderText="UniqueNumber1" |
| ReadOnly="True" UniqueName="DepID"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" UniqueName="Contact1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="EXT" HeaderText="Ext" UniqueName="Ext1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP1"> |
| </radG:GridBoundColumn> |
| </Columns> |
| <ParentTableRelation> |
| <radG:GridRelationFields DetailKeyField="DepID" MasterKeyField="ContactID" /> |
| </ParentTableRelation> |
| </radG:GridTableView> |
| </DetailTables> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"> |
| </ClientSettings> |
| </radg:radgrid> |
| Protected Sub dgDep_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.WebControls.GridItemEventArgs) Handles dgDep.ItemDataBound |
| 'If TypeOf e.Item Is GridDataItem Then |
| If TypeOf e.Item Is GridDataItem AndAlso (e.Item.OwnerTableView Is dgDep.MasterTableView) Then |
| Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) |
| Dim strChk As String = item.GetDataKeyValue("ContactIndic").ToString() |
| Dim chkbx As CheckBox = DirectCast(item("ContactIndic").FindControl("cbIndic"), CheckBox) |
| Dim DepID As String = item.GetDataKeyValue("ContactID").ToString() |
| If strChk = "1" Then |
| chkbx.Checked = True |
| Else |
| chkbx.Checked = False |
| End If |
| Dim getDS2 As New DataSet |
| getDS2 = dataConn.PhoneGetEachDep(DepID) |
| dgDep.MasterTableView.DetailTables.Item(0).DataSource = getDS2 |
| End If |
| End Sub |
| Protected Sub dgDep_NeedDataSource(ByVal source As Object, ByVal e As Telerik.WebControls.GridNeedDataSourceEventArgs) Handles dgDep.NeedDataSource |
| Dim getDS As New DataSet |
| getDS = dataConn.AllDep() |
| dgDep.DataSource = getDS.Tables(0).DefaultView |
| End Sub |
| <radg:radgrid id="dgDep" runat="server" allowsorting="True" |
| autogeneratecolumns="False" gridlines="None" Width="689px" Skin="WebBlue"> |
| <MasterTableView DataKeyNames="ContactID,ContactIndic" HierarchyLoadMode="Client"> |
| <Columns> |
| <radG:GridBoundColumn DataField="ContactID" Display="False" HeaderText="UniqueNumber" |
| ReadOnly="True" UniqueName="UniqueNumber, ContactIndic"> |
| </radG:GridBoundColumn> |
| <radG:GridEditCommandColumn HeaderText="Edit" UniqueName="EditCommandColumn1"> |
| </radG:GridEditCommandColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" ReadOnly="True" |
| UniqueName="Contact"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Ext" HeaderText="Extension" ReadOnly="True" |
| UniqueName="Ext"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Fax" HeaderText="Fax" UniqueName="Fax"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP"> |
| </radG:GridBoundColumn> |
| <radG:GridTemplateColumn DataField="ContactIndic" HeaderText="Live" UniqueName="ContactIndic"> |
| <ItemTemplate> |
| <asp:CheckBox ID="cbIndic" runat="server" Enabled="false" /> |
| </ItemTemplate> |
| <EditItemTemplate> |
| <asp:CheckBox ID="EditLive" runat="server" Checked='<%# Bind("ContactIndic")%>' /> |
| </EditItemTemplate> |
| </radG:GridTemplateColumn> |
| </Columns> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <DetailTables> |
| <radG:GridTableView runat="server" HierarchyLoadMode="ServerBind"> |
| <RowIndicatorColumn Visible="False"> |
| <HeaderStyle Width="20px" /> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn Visible="False"> |
| <HeaderStyle Width="19px" /> |
| </ExpandCollapseColumn> |
| <Columns> |
| <radG:GridBoundColumn DataField="DepID" Display="False" HeaderText="UniqueNumber1" |
| ReadOnly="True" UniqueName="DepID"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Contact" HeaderText="Contact" UniqueName="Contact1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="EXT" HeaderText="Ext" UniqueName="Ext1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Pager" HeaderText="Pager" UniqueName="Pager1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="Office" HeaderText="Office" UniqueName="Office1"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="IP" HeaderText="IP" UniqueName="IP1"> |
| </radG:GridBoundColumn> |
| </Columns> |
| <ParentTableRelation> |
| <radG:GridRelationFields DetailKeyField="DepID" MasterKeyField="ContactID" /> |
| </ParentTableRelation> |
| </radG:GridTableView> |
| </DetailTables> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"> |
| </ClientSettings> |
| </radg:radgrid> |
| Protected Sub dgDep_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.WebControls.GridItemEventArgs) Handles dgDep.ItemDataBound |
| 'If TypeOf e.Item Is GridDataItem Then |
| If TypeOf e.Item Is GridDataItem AndAlso (e.Item.OwnerTableView Is dgDep.MasterTableView) Then |
| Dim item As GridDataItem = DirectCast(e.Item, GridDataItem) |
| Dim strChk As String = item.GetDataKeyValue("ContactIndic").ToString() |
| Dim chkbx As CheckBox = DirectCast(item("ContactIndic").FindControl("cbIndic"), CheckBox) |
| Dim DepID As String = item.GetDataKeyValue("ContactID").ToString() |
| If strChk = "1" Then |
| chkbx.Checked = True |
| Else |
| chkbx.Checked = False |
| End If |
| Dim getDS2 As New DataSet |
| getDS2 = dataConn.PhoneGetEachDep(DepID) |
| dgDep.MasterTableView.DetailTables.Item(0).DataSource = getDS2 |
| End If |
| End Sub |
| Protected Sub dgDep_NeedDataSource(ByVal source As Object, ByVal e As Telerik.WebControls.GridNeedDataSourceEventArgs) Handles dgDep.NeedDataSource |
| Dim getDS As New DataSet |
| getDS = dataConn.AllDep() |
| dgDep.DataSource = getDS.Tables(0).DefaultView |
| End Sub |
| using System; |
| using System.Collections; |
| using System.Collections.Generic; |
| using System.Configuration; |
| using System.Data; |
| using Telerik.Web.UI; |
| using System.Web; |
| using System.Web.Security; |
| using System.Web.UI; |
| using System.Web.UI.HtmlControls; |
| using System.Web.UI.WebControls; |
| using System.Web.UI.WebControls.WebParts; |
| using NewMillennium; |
| using NewMillennium.DataAccess; |
| public partial class Admin_UserControls_OrderFields : MillenniumUserControl |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| RadGrid1.Skin = Common.GridSkin; |
| if (!Page.IsPostBack) |
| { |
| WebProgramFieldSessionData.ClearSessionData(); |
| RefreshGrid(); |
| } |
| } |
| private void RefreshGrid() |
| { |
| RadGrid1.MasterTableView.EditMode = GridEditMode.InPlace; |
| RadGrid1.DataSource = WebProgramFieldSessionData.GetWebProgramFields(ProjectProgramID); |
| RadGrid1.Rebind(); |
| EditAllRows(); |
| } |
| protected void EditAllRows() |
| { |
| foreach (GridDataItem item in RadGrid1.Items) |
| item.Edit = true; |
| RadGrid1.Rebind(); |
| } |
| protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
| { |
| RadGrid1.DataSource = WebProgramFieldSessionData.GetWebProgramFields(ProjectProgramID); |
| } |
| protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) |
| { |
| if (e.CommandName == "Refresh") |
| { |
| SaveChangesInSession(); |
| } |
| } |
| public void SaveChangesInSession() |
| { |
| foreach (GridItem item in RadGrid1.Items) |
| { |
| if (item is GridDataItem && item.IsInEditMode) |
| { |
| GridDataItem gridDataItem = item as GridDataItem; |
| int index = gridDataItem.DataSetIndex; |
| WebProgramField field = new WebProgramField(WebProgramFieldSessionData.WebProgramFields.Rows[index]); |
| field.FieldLabel = (gridDataItem["FieldLabel"].Controls[1] as TextBox).Text; |
| field.SortOrder = Convert.ToInt32((gridDataItem["SortOrder"].Controls[1] as TextBox).Text); |
| field.Visible = (gridDataItem["Visible"].Controls[0] as CheckBox).Checked; |
| field.Required = (gridDataItem["Required"].Controls[0] as CheckBox).Checked; |
| WebProgramFieldSessionData.Update(gridDataItem.DataSetIndex, field); |
| } |
| } |
| WebProgramFieldSessionData.UpdateSortOrder(); |
| RefreshGrid(); |
| } |
| public void SaveChangesInDatabase() |
| { |
| WebProgramFieldSessionData.SaveChangesInDatabase(); |
| } |
| protected void RadGrid1_RowDrop(object sender, GridDragDropEventArgs e) |
| { |
| if (string.IsNullOrEmpty(e.HtmlElement)) |
| { |
| if (e.DestDataItem != null && e.DestDataItem.OwnerGridID == RadGrid1.ClientID) |
| { |
| //TODO: do stuff here |
| } |
| } |
| } |
| private int ProjectProgramID |
| { |
| get |
| { |
| try |
| { |
| return Convert.ToInt32(Request.QueryString["ProjectProgramID"]); |
| } |
| catch |
| { |
| throw new ArgumentException("WebProgramFields.ascx requires a valid ProjectProgramID in the querystring."); |
| } |
| } |
| } |
| } |
| <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebProgramFields.ascx.cs" |
| Inherits="Admin_UserControls_OrderFields" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <asp:Label runat="server" ID="lblTitle"></asp:Label> |
| <telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" AllowSorting="False" |
| AutoGenerateColumns="False" AllowMultiRowEdit="true" AllowMultiRowSelection="true" |
| OnNeedDataSource="RadGrid1_NeedDataSource" OnItemCommand="RadGrid1_ItemCommand" |
| OnRowDrop="RadGrid1_RowDrop"> |
| <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> |
| <ClientSettings AllowRowsDragDrop="True"> |
| <Selecting AllowRowSelect="True" EnableDragToSelectRows="true" /> |
| </ClientSettings> |
| <MasterTableView CommandItemDisplay="Top" DataKeyNames="FieldID" AutoGenerateColumns="False"> |
| <CommandItemTemplate> |
| <div style="padding-bottom: 8px"> |
| <asp:LinkButton ID="RefreshButton" runat="server" CommandName="Refresh" OnClientClick="suppressConfirmation()"><img class="middle" alt="" src="../Images/Telerik/Refresh.gif" /> Refresh </asp:LinkButton> |
| </div> |
| </CommandItemTemplate> |
| <Columns> |
| <telerik:GridBoundColumn SortExpression="DefaultFieldLabel" HeaderText="Field Label" |
| HeaderButtonType="TextButton" DataField="DefaultFieldLabel" ReadOnly="true"> |
| <HeaderStyle HorizontalAlign="Left" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridCheckBoxColumn SortExpression="FieldVisible" HeaderText="Visible" HeaderButtonType="TextButton" |
| DataField="FieldVisible" UniqueName="Visible" DataType="System.Boolean"> |
| <HeaderStyle Width="50px" HorizontalAlign="center" /> |
| <ItemStyle HorizontalAlign="center" /> |
| </telerik:GridCheckBoxColumn> |
| <telerik:GridCheckBoxColumn SortExpression="FieldRequired" HeaderText="Required" |
| HeaderButtonType="TextButton" DataField="FieldRequired" UniqueName="Required" |
| DataType="System.Boolean"> |
| <HeaderStyle Width="50px" HorizontalAlign="center" /> |
| <ItemStyle HorizontalAlign="center" /> |
| </telerik:GridCheckBoxColumn> |
| <telerik:GridTemplateColumn SortExpression="SortOrder" HeaderText="Sort Order" HeaderButtonType="TextButton" |
| DataField="SortOrder" UniqueName="SortOrder"> |
| <HeaderStyle HorizontalAlign="center" /> |
| <ItemStyle HorizontalAlign="center" Width="80px" /> |
| <ItemTemplate> |
| <asp:TextBox ID="SortOrder" runat="server" Width="80px" Text='<%# Bind("SortOrder") %>'></asp:TextBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn SortExpression="FieldLabel" HeaderText="Alternate Field Label" |
| HeaderButtonType="TextButton" DataField="FieldLabel" UniqueName="FieldLabel"> |
| <HeaderStyle HorizontalAlign="center" /> |
| <ItemStyle HorizontalAlign="center" Width="80px" /> |
| <ItemTemplate> |
| <asp:TextBox ID="FieldLabel" runat="server" Width="200px" Text='<%# Bind("FieldLabel") %>'></asp:TextBox> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| public class WebProgramFieldSessionData |
| { |
| public static DataTable GetWebProgramFields(int projectProgramID) |
| { |
| ProjectProgramID = projectProgramID; |
| return WebProgramFields; |
| } |
| public static void ClearSessionData() |
| { |
| System.Web.HttpContext.Current.Session["WebProgramFields"] = null; |
| System.Web.HttpContext.Current.Session["WebProgramFields_ProjectProgramID"] = null; |
| } |
| public static DataTable WebProgramFields |
| { |
| get |
| { |
| try |
| { |
| if (System.Web.HttpContext.Current.Session["WebProgramFields"] != null) |
| { |
| return System.Web.HttpContext.Current.Session["WebProgramFields"] as DataTable; |
| } |
| else |
| { |
| DataTable t = WebProgramField.GetWebProgramFieldSettingsAsDataTable(ProjectProgramID); |
| System.Web.HttpContext.Current.Session["WebProgramFields"] = t; |
| return t; |
| } |
| } |
| catch (Exception ex) |
| { |
| throw new ApplicationException("The web program fields could not be initialized because of an error: " + ex.Message); |
| } |
| } |
| } |
| public static int ProjectProgramID |
| { |
| get |
| { |
| if (System.Web.HttpContext.Current.Session["WebProgramFields_ProjectProgramID"] == null) |
| System.Web.HttpContext.Current.Session["WebProgramFields_ProjectProgramID"] = 0; |
| return Convert.ToInt32(System.Web.HttpContext.Current.Session["WebProgramFields_ProjectProgramID"]); |
| } |
| set |
| { |
| System.Web.HttpContext.Current.Session["WebProgramFields_ProjectProgramID"] = value; |
| } |
| } |
| /// <summary> |
| /// Updates a row in session (not in the database). |
| /// </summary> |
| public static void Update(int index, WebProgramField field) |
| { |
| DataRow row = WebProgramFields.Rows[index]; |
| row["FieldLabel"] = field.FieldLabel; |
| row["SortOrder"] = field.SortOrder; |
| row["FieldVisible"] = field.Visible; |
| row["FieldRequired"] = field.Required; |
| } |
| /// <summary> |
| /// Corrects the sort order for all items in session. |
| /// This method does not save anything in the database. |
| /// </summary> |
| public static void UpdateSortOrder() |
| { |
| WebProgramFields.DefaultView.Sort = "SortOrder asc"; |
| int counter = 1; |
| foreach (DataRowView row in WebProgramFields.DefaultView) |
| { |
| row["SortOrder"] = counter; |
| counter++; |
| } |
| } |
| public static void SaveChangesInDatabase() |
| { |
| foreach (DataRow row in WebProgramFields.Rows) |
| { |
| WebProgramField field = new WebProgramField(row); |
| field.Save(); |
| } |
| } |
| } |