or
| <UX:RadGrid ID="uxExpenseGrid" ShowStatusBar="true" AutoGenerateColumns="false" AllowSorting="false" GridLines="None" OnItemCommand="GridItemCommand" OnNeedDataSource="InitEmployeeExpenses" OnDetailTableDataBind="EmployeeExpensesDataBind" EnableEmbeddedSkins="false" Skin="BMT" OnPreRender="InitPreRender" runat="server"> | |
| <MasterTableView Name="rootExpenses" HierarchyLoadMode="ServerBind" NoMasterRecordsText=" No employee expenses recorded."> | |
| <DetailTables> | |
| <UX:GridTableView HeaderStyle-CssClass="gridSubHeader" ShowFooter="true" Width="100%" Name="rootExpensesSummary" GridLines="None"> | |
| <Columns> | |
| <UX:GridBoundColumn DataField="ExpenseId" ReadOnly="true" UniqueName="ExpenseId" Display="false" /> | |
| <UX:GridBoundColumn DataField="EmployeeId" ReadOnly="true" UniqueName="EmployeeId" Display="false" /> | |
| <UX:GridBoundColumn DataField="ExpenseJob" ReadOnly="true" UniqueName="ExpenseJob" Display="false" /> | |
| <UX:GridBoundColumn DataField="JobDescription" ReadOnly="true" UniqueName="JobDescription" Display="false" /> | |
| <UX:GridBoundColumn DataField="EntryType" ReadOnly="true" UniqueName="EntryType" Display="false" /> | |
| <UX:GridBoundColumn DataField="EntryDate" ReadOnly="true" UniqueName="EntryDate" Display="false" /> | |
| <UX:GridBoundColumn DataField="ExpenseDate" ReadOnly="true" HeaderText="Date" UniqueName="ExpenseDate" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="11%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="JobId" ReadOnly="true" HeaderText="Job Id" UniqueName="JobId" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="8%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="TaskNumber" ReadOnly="true" HeaderText="Task #" UniqueName="TaskNumber" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="7%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="TaskName" ReadOnly="true" HeaderText="Task Name" UniqueName="TaskName" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="17%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="OverheadType" ReadOnly="true" HeaderText="Overhead Account" UniqueName="OverheadType" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="17%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="CostCode" ReadOnly="true" HeaderText="Cost Code" UniqueName="CostCode" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="9%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" FooterText="Sub Total: " /> | |
| <UX:GridBoundColumn DataField="Amount" HeaderText="Amount" UniqueName="Amount" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="8%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" FooterStyle-Height="30" FooterStyle-Font-Bold="true" DataFormatString="{0:C}" FooterAggregateFormatString="{0:C}" Aggregate="Sum" /> | |
| <UX:GridBoundColumn DataField="ExchangeRate" ReadOnly="true" HeaderText="Rate" UniqueName="ExchangeRate" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="5%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridBoundColumn DataField="Description" ReadOnly="true" HeaderText="Description" UniqueName="Description" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="11%" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" /> | |
| <UX:GridTemplateColumn UniqueName="editTemplate" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="1%" ItemStyle-HorizontalAlign="Center" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0"> | |
| <ItemTemplate> | |
| <asp:ImageButton ID="btnEdit" CommandName="Edit" AlternateText="Edit" runat="server" /> | |
| </ItemTemplate> | |
| </UX:GridTemplateColumn> | |
| <UX:GridTemplateColumn UniqueName="deleteTemplate" HeaderStyle-CssClass="hoursHeader" ItemStyle-Width="1%" ItemStyle-HorizontalAlign="Center" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0"> | |
| <ItemTemplate> | |
| <asp:ImageButton ID="btnDelete" CommandName="Delete" AlternateText="Delete" runat="server" /> | |
| </ItemTemplate> | |
| </UX:GridTemplateColumn> | |
| </Columns> | |
| <EditFormSettings UserControlName="~/Expense/EditDirectExpense.ascx" EditFormType="WebUserControl"> | |
| <EditColumn UniqueName="EditViaUserControl" /> | |
| </EditFormSettings> | |
| </UX:GridTableView> | |
| </DetailTables> | |
| <Columns> | |
| <UX:GridBoundColumn DataField="EmployeeId" ReadOnly="true" UniqueName="EmployeeId" Display="false" /> | |
| <UX:GridBoundColumn DataField="ExpenseJob" ReadOnly="true" UniqueName="ExpenseJob" Display="false" /> | |
| <UX:GridBoundColumn DataField="JobDescription" HeaderText="Expense Job/Account" UniqueName="JobDescription" ItemStyle-Width="50%" ItemStyle-BackColor="#dae2e8" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" ItemStyle-CssClass="hoursExpanded" /> | |
| <UX:GridBoundColumn DataField="EntryType" HeaderText="Expense Type" UniqueName="EntryType" ItemStyle-Width="50%" ItemStyle-BackColor="#dae2e8" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0" ItemStyle-CssClass="hoursExpanded" /> | |
| </Columns> | |
| </MasterTableView> | |
| </UX:RadGrid> |
| protected void InitEmployeeExpenses(object source, GridNeedDataSourceEventArgs e) | |
| { | |
| if (Session != null) | |
| { | |
| var employeeId = 0; | |
| employeeId = Convert.ToInt32(Session["IntraDotNet_EmployeeId"].ToString()); | |
| var updatedExpenseTable = LoadEmployeeExpensesByDateRange(employeeId, uxCustomDatePicker1.SelectedDate.Value.ToString(), uxCustomDatePicker2.SelectedDate.Value.ToString()); | |
| uxExpenseGrid.DataSource = null; | |
| uxExpenseGrid.DataSource = updatedExpenseTable; | |
| uxExpenseGrid.MasterTableView.DataKeyNames = new string[] {"ExpenseJob"}; | |
| } | |
| } |
| protected void GridItemCommand(object source, GridCommandEventArgs e) | |
| { | |
| if (e.CommandName == RadGrid.DeleteCommandName) | |
| { | |
| var deletedItem = e.Item as GridEditableItem; | |
| if (deletedItem != null) | |
| { | |
| var expenseId = Convert.ToInt32(deletedItem["ExpenseId"].Text); | |
| DeleteExpense(expenseId); | |
| uxExpenseGrid.MasterTableView.ClearEditItems(); | |
| uxExpenseGrid.MasterTableView.Rebind(); | |
| } | |
| } | |
| else if (e.CommandName == RadGrid.EditCommandName) | |
| { | |
| var editedItem = e.Item as GridEditableItem; | |
| if (editedItem != null) | |
| { | |
| // Load direct labor hour edit usercontrol | |
| if (editedItem["EntryType"].Text.ToUpper() == "DIRECT") | |
| { | |
| uxExpenseGrid.MasterTableView.ClearEditItems(); | |
| e.Item.OwnerTableView.EditFormSettings.UserControlName = "~/Expense/EditDirectExpense.ascx"; | |
| } | |
| // Load overhead labor hour edit usercontrol | |
| else if (editedItem["EntryType"].Text.ToUpper() == "OVERHEAD") | |
| { | |
| uxExpenseGrid.MasterTableView.ClearEditItems(); | |
| e.Item.OwnerTableView.EditFormSettings.UserControlName = "~/Expense/EditOverheadExpense.ascx"; | |
| } | |
| } | |
| } | |
| else if (e.CommandName == RadGrid.UpdateCommandName) | |
| { | |
| var updatedItem = e.Item as GridEditableItem; | |
| if (updatedItem != null) | |
| { | |
| // DIRECT EXPENSE UPDATE --------------------------------------------------------------- | |
| if (updatedItem["EntryType"].Text.ToUpper() == "DIRECT") | |
| { | |
| var employeeId = Convert.ToInt32(updatedItem["EmployeeId"].Text); | |
| var expenseJob = updatedItem["ExpenseJob"].Text; | |
| var startDate = uxCustomDatePicker1.SelectedDate.Value.ToString(); | |
| var endDate = uxCustomDatePicker2.SelectedDate.Value.ToString(); | |
| var timeEntryTable = LoadEmployeeExpensesByType(employeeId, expenseJob, startDate, endDate); | |
| var userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); | |
| // Init datarow | |
| DataRow[] changedRows = timeEntryTable.Select("ExpenseId = " + updatedItem["ExpenseId"].Text); | |
| // No matching record to update; Cancel update request | |
| if (changedRows.Length != 1) | |
| { | |
| e.Canceled = true; | |
| return; | |
| } | |
| // Gather nested UserControl form objects | |
| var editId = Convert.ToInt32(updatedItem["ExpenseId"].Text); | |
| var editDate = ((RadDatePicker)userControl.FindControl("uxDirectDate")).DateInput.SelectedDate.ToString(); | |
| var editJobId = ((RadComboBox)userControl.FindControl("uxDirectJobIds")).SelectedItem.Value; | |
| var editJobTaskNumber = Convert.ToInt32(((RadComboBox)userControl.FindControl("uxDirectJobTasks")).SelectedItem.Value); | |
| var editCostCode = ((RadComboBox)userControl.FindControl("uxDirectCostCodes")).SelectedItem.Value; | |
| var editAmount = Convert.ToDecimal(((RadNumericTextBox)userControl.FindControl("uxDirectAmount")).Text); | |
| var editExchangeRate = Convert.ToDecimal(((RadNumericTextBox)userControl.FindControl("uxDirectExchangeRate")).Text); | |
| var editDescription = ((RadTextBox)userControl.FindControl("uxDirectDescription")).Text; | |
| var editUser = Session["IntraDotNet_DomainAccount"].ToString(); | |
| UpdateDirectExpense(editId, editDate, editJobId, editJobTaskNumber, editCostCode, editAmount, editExchangeRate, editDescription, editUser); | |
| if (Session != null && Session["editFormEntryId"] != null) | |
| Session.Contents.Remove("editFormEntryId"); | |
| } | |
| // OVERHEAD EXPENSE UPDATE ------------------------------------------------------------- | |
| else if (updatedItem["EntryType"].Text.ToUpper() == "OVERHEAD") | |
| { | |
| var employeeId = Convert.ToInt32(updatedItem["EmployeeId"].Text); | |
| var expenseJob = updatedItem["ExpenseJob"].Text; | |
| var startDate = uxCustomDatePicker1.SelectedDate.Value.ToString(); | |
| var endDate = uxCustomDatePicker2.SelectedDate.Value.ToString(); | |
| var timeEntryTable = LoadEmployeeExpensesByType(employeeId, expenseJob, startDate, endDate); | |
| var userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); | |
| // Init datarow | |
| DataRow[] changedRows = timeEntryTable.Select("ExpenseId = " + updatedItem["ExpenseId"].Text); | |
| // No matching record to update; Cancel update request | |
| if (changedRows.Length != 1) | |
| { | |
| e.Canceled = true; | |
| return; | |
| } | |
| // Gather nested UserControl form objects | |
| var editId = Convert.ToInt32(updatedItem["ExpenseId"].Text); | |
| var editDate = ((RadDatePicker)userControl.FindControl("uxOverheadDate")).DateInput.SelectedDate.ToString(); | |
| var editOverheadType = ((RadComboBox)userControl.FindControl("uxOverheadTypes")).SelectedItem.Value; | |
| var editAmount = Convert.ToDecimal(((RadNumericTextBox)userControl.FindControl("uxOverheadAmount")).Text); | |
| var editExchangeRate = Convert.ToDecimal(((RadNumericTextBox)userControl.FindControl("uxOverheadExchangeRate")).Text); | |
| var editDescription = ((RadTextBox)userControl.FindControl("uxOverheadDescription")).Text; | |
| var editUser = Session["IntraDotNet_DomainAccount"].ToString(); | |
| UpdateOverheadExpense(editId, editDate, editOverheadType, editAmount, editExchangeRate, editDescription, editUser); | |
| } | |
| } | |
| uxExpenseGrid.MasterTableView.ClearEditItems(); | |
| } | |
| else if (e.CommandName == RadGrid.CancelCommandName) | |
| { | |
| if (Session != null && Session["editFormEntryId"] != null) | |
| Session.Contents.Remove("editFormEntryId"); | |
| } | |
| } |
| protected void EmployeeExpensesDataBind(object source, GridDetailTableDataBindEventArgs e) | |
| { | |
| var dataItem = e.DetailTableView.ParentItem; | |
| var employeeId = Convert.ToInt32(dataItem["EmployeeId"].Text); | |
| var expenseJob = dataItem["ExpenseJob"].Text; | |
| var startDate = uxCustomDatePicker1.SelectedDate.Value.ToString(); | |
| var endDate = uxCustomDatePicker2.SelectedDate.Value.ToString(); | |
| var updatedExpenseTable = LoadEmployeeExpensesByType(employeeId, expenseJob, startDate, endDate); | |
| e.DetailTableView.DataKeyNames = new string[] {"ExpenseJob"}; | |
| e.DetailTableView.DataSource = updatedExpenseTable; | |
| } |
| <script type="text/javascript"> |
| Telerik.Web.UI.Editor.CommandList["SaveDesign"] = function(commandName, editor, args) |
| { |
| PageMethods.MySave("input string",CallSuccess,CallFail); |
| }; |
| function CallSuccess(results, userContext, methodName) |
| { |
| alert(results); |
| } |
| function CallFail(errors, userContext, methodName) |
| { |
| alert(errors.get_Message()); |
| } |
| </script> |
| [System.Web.Services.WebMethod()] |
| public static string SaveShit(string stuff) |
| { |
| return "did something"; |
| } |

| .RadSlider_simbaSkin .rslItemsWrapper .rslItemSelected |
| { /*background: url('Slider/DragVerticalHandle.png') no-repeat;*/ |
| background: url('Slider/DragVerticalHandle.png') no-repeat; |
| /*border:1px solid green;*/ |
| color: #999900; |
| } |
| .Radslider .rslVertical .rslItemsWrapper .rslItemFirst, .RadSlider .rslHorizontal .rslItemsWrapper .rslItemFirst { |
| background-image:none; |
| } |
| void RadChart1_ItemDataBound(object sender, ChartItemDataBoundEventArgs e) |
| { |
| DataRowView drv = e.DataItem as DataRowView; |
| DateTime startDate = (DateTime)drv["EventDate"]; |
| DateTime endDate = (DateTime)drv["EndDate"]; |
| StringBuilder sb = new StringBuilder(); |
| sb.Append(drv["Title"].ToString()); |
| sb.AppendFormat("\n{0} - {1}", startDate.ToShortDateString(), endDate.ToShortDateString()); |
| e.SeriesItem.Name = drv["Source"].ToString(); |
| e.SeriesItem.ActiveRegion.Tooltip = sb.ToString(); |
| } |
| dt.Columns.Add("Source", typeof(String)); |
| dt.Columns.Add("Title", typeof(string)); |
| dt.Columns.Add("From", typeof(double)); |
| dt.Columns.Add("To", typeof(double)); |
| dt.Columns.Add("EventDate", typeof(DateTime)); |
| dt.Columns.Add("EndDate", typeof(DateTime)); |
| ChartSeries series = new ChartSeries(); |
| RadChart1.PlotArea.YAxis.Appearance.ValueFormat = Telerik.Charting.Styles.ChartValueFormat.ShortDate; |
| RadChart1.PlotArea.YAxis.Appearance.LabelAppearance.RotationAngle = 45; |
| RadChart1.PlotArea.YAxis.LabelStep = 1; |
| RadChart1.PlotArea.YAxis.Appearance.LabelAppearance.Position.AlignedPosition = Telerik.Charting.Styles.AlignedPositions.Top; |
| RadChart1.Series.Clear(); |
| RadChart1.PlotArea.YAxis.AutoScale = false; |
| RadChart1.PlotArea.YAxis.AxisMode = ChartYAxisMode.Extended; |
| DataTable dt = getListItems(); |
| RadChart1.PlotArea.YAxis.AddRange(from.ToOADate(), to.ToOADate(), step); |
| RadChart1.DataSource = dt; |
| series.Type = ChartSeriesType.Gantt; |
| series.Appearance.LabelAppearance.Visible = false; |
| series.Appearance.LegendDisplayMode = ChartSeriesLegendDisplayMode.SeriesName; |
| series.Appearance.BarWidthPercent = 30M; |
| series.DataYColumn = "From"; |
| series.DataYColumn2 = "To"; |
| RadChart1.Series.Add(series); |
| RadChart1.SeriesOrientation = ChartSeriesOrientation.Horizontal; |
| RadChart1.ChartTitle.TextBlock.Text = "Aggregated Calendar"; |
| if(_realWidth > 0) |
| RadChart1.Width = new Unit(_realWidth * .97); |
| RadChart1.DataBind(); |
| void RadChart1_ItemDataBound(object sender, ChartItemDataBoundEventArgs e) |
| { |
| DataRowView drv = e.DataItem as DataRowView; |
| DateTime startDate = (DateTime)drv["EventDate"]; |
| DateTime endDate = (DateTime)drv["EndDate"]; |
| StringBuilder sb = new StringBuilder(); |
| sb.Append(drv["Title"].ToString()); |
| sb.AppendFormat("\n{0} - {1}", startDate.ToShortDateString(), endDate.ToShortDateString()); |
| e.SeriesItem.Name = drv["Source"].ToString(); |
| e.SeriesItem.ActiveRegion.Tooltip = sb.ToString(); |
| } |
| series.DataSeriesColumn = "Source"; //DataTable column name |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" EditImageUrl="../Grafikk/RadGrid/SinglePlus.gif" EditText="Edit" CancelImageUrl="../Grafikk/RadGrid/SingleMinus.gif" CancelText="Cancel" ItemStyle-HorizontalAlign="Center" /> |
| var searchResults = db.AbsenceSearch(txtIndividualSearchBox.Text.ToUpper(), |
| ddlEnterprises.SelectedValue == "-1" || ddlEnterprises.SelectedValue == "" ? null : (int?)Convert.ToInt32(ddlEnterprises.SelectedValue), ddlDivisions.SelectedValue == "-1" || ddlDivisions.SelectedValue == "" ? null : (int?)Convert.ToInt32(ddlDivisions.SelectedValue), |
| dateFrom, |
| dateTo, |
| reevaluationPeriod, |
| cbIsOpen.Checked, |
| userid).ToList(); |
| RadGrid1.DataSource = searchResults; |
| protected void RadGrid1_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) |
| { |
| if (e.Item.ItemType == Telerik.Web.UI.GridItemType.Item || e.Item.ItemType == Telerik.Web.UI.GridItemType.AlternatingItem) |
| { |
| int eID = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["id"]; |
| Response.Redirect(<to some page>); |
| } |
| } |
| <telerik:radgrid ...> |
| <DetailTables> |
| <telerik:GridTableView ...> |
| <DetailTables> |
| <telerik:GridTableView ...> |
| <NestedViewTemplate> |
| <telerik:RadTabStrip ...> |
| </telerik:RadTabStrip> |
| <telerik:RadMultiPage ...> |
| <telerik:RadPageView ...> |
| <telerik:RadGrid ...> |
| <DetailTables> |
| <telerik:GridTableView ...> |
| <DetailTables> |
| <telerik:GridTableView ...> |
| </telerik:GridTableView> |
| </DetailTables> |
| </telerik:GridTableView> |
| </DetailTables> |
| </telerik:RadGrid> |
| </telerik:RadPageView> |
| </telerik:RadMultiPage> |
| <NestedViewTemplate> |
| </telerik:GridTableView |
| </DetailTables> |
| </telerik:GridTableView |
| </DetailTables> |
| </telerik:radgrid> |