Hello,
I have an AutoCompleteBox I need to click on an item of list then redirect to another page please see attached image for clarity my question
I have a readScheduler, When I drag one task to another row/column.
Sometimes it is working, but it often returning to the dragged row, not to the actual destination.
Is it similar to this reported issue?
https://www.telerik.com/forums/radscheduler---drag-and-drop---get-destinationhtmlelement-issue
Do you know how to solve it?
you can see my attached screenshot
have a problem export grid to excel when more than one grid exports to excel. In the attched "Screen jpeg" the export to excel works fine. in the "export jpeg" the export changes the grid around and does not export to excel. I have listed my aspx page and code behind.
<%@ Page Title="" Language="C#" MasterPageFile="~/Modules/Module.Master" AutoEventWireup="true" CodeBehind="ManageEmployees.aspx.cs" Inherits="HelmOnline.Web.Modules.TimeClock.ManageEmployee" %>
<%@ Register Src="~/Common/Controls/CustomerIdSelect.ascx" TagPrefix="uc1" TagName="CustomerIdSelect" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ModuleContent" runat="server">
<div style="margin: 10px; height: 100%;">
<style type="text/css">
.rightAlign {
float: right;
}
.pad1 {
padding-right: 20px
}
</style>
<telerik:RadScriptBlock runat="server">
<script type="text/javascript">
function OpenWCEntry(sender, punchid, customerid, employeeid, jobsiteid, punchtimein, punchtimeout) {
var dialogWindow = $find("<%=RadWindow1.ClientID%>");
if (punchid == 0)
{ dialogWindow.set_title("Add New Punch Entry"); }
else
{ dialogWindow.set_title("Modify Punch Entry"); }
var baseUrl = "Dialog/AddEditWebTime.aspx";
baseUrl = baseUrl + "?";
baseUrl = baseUrl + "punchid=" + punchid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "customerid=" + customerid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "employeeid=" + employeeid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "jobsiteid=" + jobsiteid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "punchtimein=" + punchtimein;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "punchtimeout=" + punchtimeout;
dialogWindow.set_navigateUrl(baseUrl)
dialogWindow.set_modal(true);
dialogWindow.show();
}
function OnClientCloseHandler(sender, args) {
var btnRefreshGrids = $find("<%=btnRefreshGrids.ClientID%>");
btnRefreshGrids.click();
}
function OpenReport() {
var comboReport = $find("<%=cboReport.ClientID%>");
var comboPeriods = $find("<%=rcCustomerPeriod.ClientID%>");
var comboImportFilter = $find("<%=rcImportFilter.ClientID%>");
var jobsiteid = checkcheckeditems();
var hidCustomerId = document.getElementById('<%=hidCustomerId.ClientID%>');
//var baseUrl = "Dialog/WebClockReport.aspx";
var nbaseUrl = "../Shared/ModuleReport.aspx";
var parms = "";
parms = parms + "customerid:" + hidCustomerId.value;
parms = parms + "|";
parms = parms + "jobsiteid:" + jobsiteid;
parms = parms + "|";
parms = parms + "periodid:" + comboPeriods.get_selectedItem().get_value();
parms = parms + "|";
parms = parms + "importfilterid:" + comboImportFilter.get_selectedItem().get_value();
nbaseUrl = nbaseUrl + "?ReportID=" + comboReport.get_selectedItem().get_value();
nbaseUrl = nbaseUrl + "&ReportParms=" + parms;
//alert(jobsiteid);
//baseUrl = baseUrl + "?";
//baseUrl = baseUrl + "customerid=" + hidCustomerId.value;
//baseUrl = baseUrl + "&";
//baseUrl = baseUrl + "jobsiteid=" + jobsiteid;
//baseUrl = baseUrl + "&";
//baseUrl = baseUrl + "periodid=" + comboPeriods.get_selectedItem().get_value();
//baseUrl = baseUrl + "&";
//baseUrl = baseUrl + "importfilterid=" + comboImportFilter.get_selectedItem().get_value();
document.title = 'Web Clock Report';
//window.open(baseUrl);
window.open(nbaseUrl);
}
function checkcheckeditems() {
var checkeditems = '';
var radvalue;
var combo = $find("<%=rcWCJSList.ClientID%>")
var items = combo.get_checkedItems();
for (i = 0; i < items.length; i++) {
radvalue = items[i].get_value();
if (i == 0) {
checkeditems = checkeditems + radvalue;
}
else {
checkeditems = checkeditems + "," + radvalue;
}
}
//alert(checkeditems);
return (checkeditems);
}
function OpenPunchLogReport() {
var comboPeriods = $find("<%=rcCustomerPeriod.ClientID%>");
var grid = $find("<%=RadGrid1.ClientID %>");
var MasterTable = grid.get_masterTableView();
var Rows = MasterTable.get_dataItems();
//if (Rows.length > 0)
//{
// var cell = MasterTable.getCellByColumnUniqueName(MasterTable.get_dataItems()[0], "EmployeeID").innerHTML;
// var baseUrl = "Dialog/PunchReport.aspx";
// baseUrl = baseUrl + "?";
// baseUrl = baseUrl + "employeeid=" + cell;
// baseUrl = baseUrl + "&";
// baseUrl = baseUrl + "periodid=" + comboPeriods.get_selectedItem().get_value();
// document.title = 'Punch Log Report';
// window.open(baseUrl);
//}
var selectedRows = MasterTable.get_selectedItems();
for (var i = 0; i < selectedRows.length; i++) {
var row = selectedRows[i];
var cell = MasterTable.getCellByColumnUniqueName(row, "EmployeeID")
//alert(cell.innerHTML);
var nbaseUrl = "../Shared/ModuleReport.aspx";
var parms = "";
parms = parms + "employeeid:" + cell.innerHTML;
parms = parms + "|";
parms = parms + "periodid:" + comboPeriods.get_selectedItem().get_value();
nbaseUrl = nbaseUrl + "?ReportID=7"
nbaseUrl = nbaseUrl + "&ReportParms=" + parms;
//var baseUrl = "Dialog/PunchReport.aspx";
//baseUrl = baseUrl + "?";
//baseUrl = baseUrl + "employeeid=" + cell.innerHTML;
//baseUrl = baseUrl + "&";
//baseUrl = baseUrl + "periodid=" + comboPeriods.get_selectedItem().get_value();
document.title = 'Punch Log Report';
window.open(nbaseUrl);
}
}
function OpenWebClockEmployeeReport(sender, customerid, employeeid, startdate, enddate) {
var baseUrl = "Dialog/WebClockEmployeeReport.aspx";
baseUrl = baseUrl + "?";
baseUrl = baseUrl + "customerid=" + customerid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "employeeid=" + employeeid;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "startdate=" + startdate;
baseUrl = baseUrl + "&";
baseUrl = baseUrl + "enddate=" + enddate;
document.title = 'Web Clock Employee Report';
window.open(baseUrl);
}
</script>
</telerik:RadScriptBlock>
<telerik:RadWindowManager RenderMode="Lightweight" ID="RadWindowManager1" ShowContentDuringLoad="false" VisibleStatusbar="false" ReloadOnShow="true" runat="server" EnableShadow="true">
<Windows>
<telerik:RadWindow RenderMode="Lightweight" ID="RadWindow1" runat="server" Height="525" Width="850" NavigateUrl="~/Modules/TimeClock/Dialog/AddEditWebTime.aspx" OnClientClose="OnClientCloseHandler" Behaviors="Close" />
</Windows>
</telerik:RadWindowManager>
<telerik:RadAjaxManager ID="RadRadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" UpdatePanelHeight="100%" />
<telerik:AjaxUpdatedControl ControlID="RadGrid2" UpdatePanelHeight="100%" />
<telerik:AjaxUpdatedControl ControlID="btnAdd" />
<telerik:AjaxUpdatedControl ControlID="btnEdit" />
<telerik:AjaxUpdatedControl ControlID="btnPunchLog" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnRefreshGrids">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="btnRefreshGrids" />
<telerik:AjaxUpdatedControl ControlID="RadGrid1" UpdatePanelHeight="100%" />
<telerik:AjaxUpdatedControl ControlID="RadGrid2" UpdatePanelHeight="100%" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
<ClientEvents />
</telerik:RadAjaxManager>
<asp:Panel runat="server" ID="pnlcustomerselect">
<uc1:CustomerIdSelect runat="server" ID="CustomerIDField" OnCustomerSelectEvent="CustomerIDField_CustomerSelectEvent" />
</asp:Panel>
<telerik:RadAjaxPanel runat="server" ID="pnlgridcontainer" PostBackControls="btnExportGrid,btnExportGrid2" Height="100%">
<div style="margin: 0px; height: 5%;">
<table>
<tbody>
<tr>
<td width="5%">
<telerik:RadLabel runat="server" ID="radlabel2" Text="Customer"></telerik:RadLabel>
</td>
<td width="30%">
<telerik:RadLabel runat="server" ID="lblCustomerIDName"></telerik:RadLabel>
</td>
<td width="15%">
<telerik:RadComboBox ID="rcCustomerPeriod" runat="server" Height="200" Width="250" DropDownWidth="320" EmptyMessage="Choose a Period" HighlightTemplatedItems="true" DataTextField="DisplyText" DataValueField="PeriodID" OnSelectedIndexChanged="rcbEarningSelection_SelectedIndexChanged" AutoPostBack="true">
<HeaderTemplate>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="width: 75px;">Status
</td>
<td style="width: 75px;">Start Date
</td>
<td style="width: 75px;">End Date
</td>
<td style="width: 75px;">WE Date
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td style="width: 75px;">
<%# DataBinder.Eval(Container.DataItem , "StatusDescription")%>
</td>
<td style="width: 75px;">
<%# string.Format("{0:MM/dd/yyyy}", DataBinder.Eval(Container.DataItem , "StartDate"))%>
</td>
<td style="width: 75px;">
<%# string.Format("{0:MM/dd/yyyy}", DataBinder.Eval(Container.DataItem , "EndDate"))%>
</td>
<td style="width: 75px;">
<%# string.Format("{0:MM/dd/yyyy}", DataBinder.Eval(Container.DataItem , "WEDate"))%>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadComboBox>
</td>
<td width="40%">
<telerik:RadLabel runat="server" ID="RadLabel" Text="Report" />
<telerik:RadComboBox runat="server" ID="cboReport" DataTextField="WebDisplayName" DataValueField="ReportID" />
<telerik:RadComboBox runat="server" ID="rcWCJSList" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" DataTextField="JobSiteName" DataValueField="JobSiteID" />
<telerik:RadComboBox runat="server" ID="rcImportFilter" Width="120px">
<Items>
<telerik:RadComboBoxItem runat="server" Text="All Time" Value="0" />
<telerik:RadComboBoxItem runat="server" Text="Imported Time" Value="1" />
<telerik:RadComboBoxItem runat="server" Text="Unimported Time" Value="2" />
</Items>
</telerik:RadComboBox>
<asp:LinkButton runat="server" ID="btnReport" Text="Display" OnClientClick="javascript:OpenReport();false;" />
</td>
<td width="15%">
<telerik:RadButton runat="server" ID="btnTimeImport" CssClass="rightAlign" Text="Import Time" OnClick="btnTimeImport_Click" />
</td>
</tbody>
</table>
<telerik:RadButton ID="btnRefreshGrids" Text="Refresh" OnClick="btnRefreshGrids_Click" runat="server" Style="display: none;" />
</div>
<div style="margin: 0px; height: 95%;" id="gridContainer">
<div style="margin: 0px; height: 50%;">
<asp:ImageButton ID="btnExportGrid" runat="server" ImageUrl="/Images/Excel_XLSX.png" Height="24" Width="24" OnClick="btnExportGrid_Click" AlternateText="ExportToExcel" />
<telerik:RadGrid runat="server" ID="RadGrid1" Width="100%" Height="80%" AutoGenerateColumns="false" AllowPaging="False" AllowSorting="true" ShowGroupPanel="false" RenderMode="Classic" AllowFilteringByColumn="true" GroupingSettings-CaseSensitive="false" OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged" OnNeedDataSource="RadGrid1_NeedDataSource">
<MasterTableView TableLayout="Fixed">
<Columns>
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="Customer ID" HeaderText="Customerid" HeaderButtonType="TextButton" DataField="Customerid" DataFormatString="{0:d}" />
<telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="Employee ID" HeaderButtonType="TextButton" DataField="EmployeeID" DataFormatString="{0:d}" />
<telerik:GridBoundColumn SortExpression="FirstName" HeaderText="First Name" HeaderButtonType="TextButton" DataField="FirstName" DataFormatString="{0:d}" />
<telerik:GridBoundColumn SortExpression="LastName" HeaderText="Last Name" HeaderButtonType="TextButton" DataField="LastName" DataFormatString="{0:d}" />
<telerik:GridBoundColumn SortExpression="Imported_Hours" HeaderText="Imported Hours" HeaderButtonType="TextButton" DataField="Imported_Hours" DataFormatString="{0:###,##0.00}" />
<telerik:GridBoundColumn SortExpression="Unimported_Hours" HeaderText="Unimported Hours" HeaderButtonType="TextButton" DataField="Unimported_Hours" DataFormatString="{0:###,##0.00}" />
<telerik:GridBoundColumn SortExpression="Gross_Hours" HeaderText="Gross Hours" HeaderButtonType="TextButton" DataField="Gross_Hours" DataFormatString="{0:###,##0.00}" />
<telerik:GridBoundColumn SortExpression="Net_Hours" HeaderText="Net Hours" HeaderButtonType="TextButton" DataField="Net_Hours" DataFormatString="{0:###,##0.00}" />
</Columns>
</MasterTableView>
<ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True" EnablePostBackOnRowClick="true" Selecting-AllowRowSelect="true">
<Selecting AllowRowSelect="True"></Selecting>
<Resizing AllowRowResize="False" AllowColumnResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="False"></Resizing>
<Scrolling UseStaticHeaders="true" AllowScroll="true" />
<%--<ClientEvents OnGridCreated="GridCreated" />--%>
</ClientSettings>
</telerik:RadGrid>
</div>
<div style="margin: 0px; height: 50%;">
<table>
<tr>
<td>
<asp:ImageButton ID="btnExportGrid2" runat="server" ImageUrl="/Images/Excel_XLSX.png" Height="24" Width="24" OnClick="btnExportGrid2_Click" AlternateText="ExportToExcel" />
</td>
<td class="pad1">
<asp:LinkButton runat="server" ID="btnAdd" Text="Add New Punch" OnClick="btnAdd_Click" Visible="false"></asp:LinkButton></td>
<td>
<asp:LinkButton runat="server" ID="btnPunchLog" Text="Employee Punch Log" Visible="false" OnClientClick="javascript:OpenPunchLogReport();false;"></asp:LinkButton></td>
</tr>
</table>
<telerik:RadGrid Width="100%" Height="80%" ID="RadGrid2" OnNeedDataSource="RadGrid2_NeedDataSource" runat="server" AutoGenerateColumns="false" AllowPaging="False" AllowSorting="true" ShowGroupPanel="false" PageSize="10" RenderMode="Classic" AllowFilteringByColumn="false" GroupingSettings-CaseSensitive="false" OnItemCreated="RadGrid2_ItemCreated" OnItemCommand="RadGrid2_ItemCommand" OnItemDataBound="RadGrid2_ItemDataBound">
<MasterTableView TableLayout="Fixed">
<Columns>
<telerik:GridButtonColumn UniqueName="btnDelete" CommandName="Delete" ButtonType="LinkButton" Text="Delete" HeaderStyle-Width="45" HeaderText="Delete" ConfirmText="Do want to delete punch?" ImageUrl="../../Images/redx-md.png" />
<telerik:GridButtonColumn UniqueName="btnEdit" ButtonType="LinkButton" Text="Modify" HeaderText="Modify" HeaderStyle-Width="55" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="Customerid" HeaderText="Customerid" HeaderButtonType="TextButton" DataField="Customerid" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" DataField="EmployeeID" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="FirstName" HeaderText="FirstName" HeaderButtonType="TextButton" DataField="FirstName" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="LastName" HeaderText="LastName" HeaderButtonType="TextButton" DataField="LastName" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="PunchID" HeaderText="PunchID" HeaderButtonType="TextButton" DataField="PunchID" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="JobSitID" HeaderText="JobSitID" HeaderButtonType="TextButton" DataField="JobSitID" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="0" SortExpression="IsEdit" HeaderText="IsEdit" HeaderButtonType="TextButton" DataField="IsEdit" DataFormatString="{0:d}" />
<telerik:GridBoundColumn HeaderStyle-Width="60" SortExpression="Imported_BatchID" HeaderText="BatchID" HeaderButtonType="TextButton" DataField="Imported_BatchID" DataFormatString="{0:d}" />
<telerik:GridDateTimeColumn SortExpression="dt" HeaderText="Date" HeaderStyle-Width="70" HeaderButtonType="TextButton" DataField="dt" DataType="System.DateTime" DataFormatString="{0:M/d/yyyy}" />
<telerik:GridBoundColumn SortExpression="DayOfWeek" HeaderText="Day Of Week" HeaderStyle-Width="85" HeaderButtonType="TextButton" DataField="DayOfWeek" DataFormatString="{0:d}" />
<telerik:GridBoundColumn SortExpression="JobSiteName" HeaderText="Job Site Name" HeaderButtonType="TextButton" DataField="JobSiteName" DataFormatString="{0:d}" />
<telerik:GridDateTimeColumn SortExpression="PunchInDate" HeaderText="Punch In Date" HeaderStyle-Width="95" HeaderButtonType="TextButton" DataField="PunchInDate" DataType="System.DateTime" DataFormatString="{0:M/d/yyyy}" />
<telerik:GridDateTimeColumn SortExpression="PunchInTime" HeaderText="Punch In Time" HeaderStyle-Width="95" HeaderButtonType="TextButton" DataField="PunchInTime" DataType="System.DateTime" />
<telerik:GridDateTimeColumn SortExpression="PunchOutDate" HeaderText="Punch Out Date" HeaderStyle-Width="100" HeaderButtonType="TextButton" DataField="PunchOutDate" DataType="System.DateTime" DataFormatString="{0:M/d/yyyy}" />
<telerik:GridDateTimeColumn SortExpression="PunchOutTime" HeaderText="Punch Out Time" HeaderStyle-Width="100" HeaderButtonType="TextButton" DataField="PunchOutTime" DataType="System.DateTime" />
<telerik:GridBoundColumn SortExpression="Hours_Worked" HeaderText="Gross Hours" HeaderStyle-Width="95" HeaderButtonType="TextButton" DataField="Hours_Worked" DataFormatString="{0:###,##0.00}" />
</Columns>
</MasterTableView>
<ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True" EnablePostBackOnRowClick="true">
<Selecting AllowRowSelect="True"></Selecting>
<Resizing AllowRowResize="False" AllowColumnResize="True" EnableRealTimeResize="True" ResizeGridOnColumnResize="False"></Resizing>
<Scrolling UseStaticHeaders="true" AllowScroll="true" />
</ClientSettings>
</telerik:RadGrid>
</div>
</div>
</telerik:RadAjaxPanel>
</div>
<asp:HiddenField runat="server" ID="hidCustomerId" />
<asp:HiddenField runat="server" ID="hidEmmployeeId" />
</asp:Content>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using xi = Telerik.Web.UI.ExportInfrastructure;
using Telerik.Web.UI.GridExcelBuilder;
using HelmOnline.Web.Common.Context;
namespace HelmOnline.Web.Modules.TimeClock
{
public partial class ManageEmployee : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack){
int customerid = 0;
if (customerid == 0){
customerid = Common.Context.SecurityContext.CustomerId;
}
if (customerid > 0){
this.CustomerIDField.CustomerId = customerid;
CustomerIDField_CustomerSelectEvent(customerid);
}
else{
this.pnlcustomerselect.Visible = true;
this.pnlgridcontainer.Visible = false;
}
}
}
protected void RadGrid2_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
DateTime punchdatein;
DateTime punchdateout;
if (e.Item is GridDataItem) {
var gridItem = (GridDataItem)e.Item;
var scItem = (svcHelm.WC_EmployeeDetailItem)gridItem.DataItem;
if (scItem != null) {
if (this.rcCustomerPeriod.SelectedItem.Text.Contains("Closed")) {
((LinkButton)gridItem["btnDelete"].Controls[0]).Visible = false;
((LinkButton)gridItem["btnEdit"].Controls[0]).Visible = false;
}
else {
if (scItem.Imported_BatchID > 0){
((LinkButton)gridItem["btnDelete"].Controls[0]).Visible = false;
((LinkButton)gridItem["btnEdit"].Controls[0]).Visible = false;
}
else {
((LinkButton)gridItem["btnDelete"].Controls[0]).Visible = true;
((LinkButton)gridItem["btnEdit"].Controls[0]).Visible = true;
}
punchdatein = DateTime.Parse(DateTime.Parse(scItem.PunchInDate.ToString()).ToString("M/dd/yyyy") + " " + scItem.PunchInTime.ToString());
if (scItem.PunchOutDate == null) {
punchdateout = DateTime.Parse(DateTime.Parse(scItem.PunchInDate.ToString()).ToString("M/dd/yyyy") + " " + scItem.PunchInTime.ToString());
}
else{
punchdateout = DateTime.Parse(DateTime.Parse(scItem.PunchOutDate.ToString()).ToString("M/dd/yyyy") + " " + scItem.PunchOutTime.ToString());
}
((LinkButton)gridItem["btnEdit"].Controls[0]).Attributes.Add("onclick", "OpenWCEntry(this, '" + scItem.PunchID.ToString() + "',"
+ scItem.Customerid.ToString() + ","
+ scItem.Employeeid.ToString() + ","
+ scItem.JobSiteID.ToString() + ","
+ punchdatein.ToString("yyyyMMddHHmmss") + ","
+ punchdateout.ToString("yyyyMMddHHmmss")
+ "); return false;");
}
}
}
}
protected void RadGrid2_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
using (var client = new svcHelm.HelmClient())
{
var gridItem = (GridDataItem)e.Item;
client.WC_DeleteEmployeePunch(int.Parse(gridItem["PunchID"].Text));
}
RadGrid2.Rebind();
}
}
protected void RadGrid2_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
int employeeid = 0;
int customerid = 0;
int periodid = 0;
if (this.RadGrid1.SelectedItems != null)
{
if (this.RadGrid1.SelectedItems.Count > 0)
{
var selectGridItem = (Telerik.Web.UI.GridDataItem)this.RadGrid1.SelectedItems[0];
employeeid = int.Parse(selectGridItem["EmployeeID"].Text);
customerid = int.Parse(selectGridItem["CustomerID"].Text);
periodid = int.Parse(this.rcCustomerPeriod.SelectedValue);
}
}
using (var client = new svcHelm.HelmClient())
{
var grid = sender as RadGrid;
grid.DataSource = client.WC_GetEmployeeDetails(customerid, employeeid, periodid);
}
}
protected void CustomerIDField_CustomerSelectEvent(int customerid)
{
if (customerid > 0){
using (var client = new svcHelm.HelmClient()){
this.hidCustomerId.Value = customerid.ToString();
var tsperiods = client.TS_GetCustomerPeriods(customerid);
var WCRJCList = client.WebClockJobSiteList(customerid, SecurityContext.UserId);
var reports = client.HelmOnlineWebReports("WebClock");
if (tsperiods.Count == 0){
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "err_msg", "alert('Customer Periods not set up!');", true);
return;
}
this.rcCustomerPeriod.DataSource = tsperiods;
this.rcCustomerPeriod.DataBind();
this.rcWCJSList.DataSource = WCRJCList;
this.rcWCJSList.DataBind();
this.cboReport.DataSource = reports;
this.cboReport.DataBind();
this.pnlgridcontainer.Visible = true;
this.pnlcustomerselect.Visible = false;
var cinfo = client.GetHelmCustomer(customerid);
this.lblCustomerIDName.Text = cinfo.CustomerID.ToString() + " " + cinfo.CustomerName;
//Set to first open period
int counter = 0;
foreach (svcHelm.TS_CustomerPeriod period in tsperiods){
if (period.StatusID == 1){
this.rcCustomerPeriod.SelectedIndex = counter;
break;
}
counter += 1;
}
foreach (RadComboBoxItem itm in rcWCJSList.Items){
itm.Checked = true;
}
this.btnTimeImport.Visible = client.CustomerVaildateImport(int.Parse(this.hidCustomerId.Value)).isTimeImport;
this.RadGrid1.Rebind();
}
}
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
int customerid = (int)this.CustomerIDField.CustomerId;
if (customerid > 0){
using (var client = new svcHelm.HelmClient()){
var grid = sender as RadGrid;
grid.DataSource = client.WC_GetCustomerEmployeesSummary(customerid, int.Parse(this.rcCustomerPeriod.SelectedValue), SecurityContext.UserId);
}
}
}
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
GridDataItem selectedItem = (GridDataItem)RadGrid1.SelectedItems[0];
Session["RowIndex"] = selectedItem.ItemIndex;// Gets the index of currently selected row
//this.hidEmmployeeId.Value = selectedItem.Cells[3].Text;
this.RadGrid2.Rebind();
RadGrid2.Visible = true;
if (this.rcCustomerPeriod.SelectedItem.Text.Contains("Closed"))
{ btnAdd.Visible = false; }
else { btnAdd.Visible = true; }
this.btnPunchLog.Visible = true;
}
protected void btnAdd_Click(object sender, EventArgs e)
{
int employeeid = 0;
int customerid = (int)this.CustomerIDField.CustomerId;
int periodid = int.Parse(this.rcCustomerPeriod.SelectedValue);
DateTime startdate = DateTime.Now;
DateTime enddate = DateTime.Now;
if (customerid > 0){
if (this.RadGrid1.SelectedItems.Count > 0){
var selectGridItem = (Telerik.Web.UI.GridDataItem)this.RadGrid1.SelectedItems[0];
employeeid = int.Parse(selectGridItem["EmployeeID"].Text);
svcHelm.TS_CustomerPeriod period;
using (var client = new svcHelm.HelmClient()){
period = client.TS_GetCustomerPeriod(periodid);
startdate = period.StartDate;
enddate = period.EndDate;
}
}
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "btnadd", "OpenWCEntry(this,0," + customerid.ToString() + "," + employeeid.ToString() + ", 0 ," + startdate.ToString("yyyyMMddHHmmss") + "," + enddate.ToString("yyyyMMddHHmmss") + "); ", true);
}
else{
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "err_msg", "alert('Customerid is blank');", true);
}
}
protected void btnRefreshGrids_Click(object sender, EventArgs e)
{
string selectedEmployeeId = string.Empty;
for (int i = 0; i < RadGrid1.Items.Count; i++){
if (RadGrid1.Items[i].Selected) {
selectedEmployeeId = RadGrid1.Items[i]["EmployeeID"].Text;
}
}
this.RadGrid1.Rebind();
if(selectedEmployeeId.Length > 0){
for (int i = 0; i < RadGrid1.Items.Count; i++){
if(selectedEmployeeId == RadGrid1.Items[i]["EmployeeID"].Text){
RadGrid1.Items[i].Selected = true;
}
}
}
this.RadGrid2.Rebind();
}
protected void btnTimeImport_Click(object sender, EventArgs e)
{
int customerid = (int)this.CustomerIDField.CustomerId;
int periodid = int.Parse(this.rcCustomerPeriod.SelectedValue);
string page = "";
using (var client = new svcHelm.HelmClient()){
var cvalid = client.CustomerVaildateImport(int.Parse(this.hidCustomerId.Value));
if (!cvalid.isTimeImport){
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "err_msg", "alert('Customer Payroll Frequency not valid for Time Import');", true);
}
else{
page = "~/Modules/TimeClock/ImportTime.aspx?customerid=" + customerid.ToString() + "&periodid=" + periodid.ToString();
Response.Redirect(page);
}
}
}
protected void rcbEarningSelection_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
RadGrid1.Rebind();
RadGrid2.Visible = false;
btnAdd.Visible = false;
btnPunchLog.Visible = false;
if (this.rcCustomerPeriod.SelectedItem.Text.Contains("Closed"))
{ btnTimeImport.Visible = false; }
else { btnTimeImport.Visible = true; }
}
protected void btnExportGrid_Click(object sender, ImageClickEventArgs e)
{
RadGrid1.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "Xlsx");
RadGrid1.ExportSettings.IgnorePaging = true;
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.ExportSettings.OpenInNewWindow = true;
RadGrid1.MasterTableView.ExportToExcel();
}
protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
var gridItem = (GridDataItem)e.Item;
var item = (svcHelm.WC_EmployeeDetailItem)gridItem.DataItem;
if (item.isEdit)
{
gridItem.BackColor = Color.Yellow;
}
}
}
protected void btnExportGrid2_Click(object sender, ImageClickEventArgs e)
{
RadGrid2.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "Xlsx");
RadGrid2.ExportSettings.IgnorePaging = true;
RadGrid2.ExportSettings.ExportOnlyData = true;
RadGrid2.ExportSettings.OpenInNewWindow = true;
RadGrid2.MasterTableView.ExportToExcel();
}
}
}
We have a menu built in code-behind, the focus key works and we can move from menu item to item horizontally with arrows but there doesnt seem to be a way to access the dropdown items. WAVE for the demo (attached) shows "Tab" but WAVE on our menu does not (attached). here is the markup
<telerik:RadMenu ID="RadMenu2" runat="server" Flow="Horizontal" BorderWidth="1px"
Style="z-index: 10; width: 100%; white-space: normal;" Skin="Bootstrap"
Font-Names="Verdana" Font-Size="X-Small" EnableRoundedCorners="false" RenderMode="Lightweight"
EnableAriaSupport="true" CommandKey="Alt" FocusKey="B" KeyboardNavigationSettings-FocusKey="B">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</telerik:RadMenu>
Hi Guys,
Using the upload control for Azure Blob Storage.
Using ASP.NET AJAX radCloudUpload v 2019 R3. I select a file to upload then get the following exception:
[FormatException: Invalid length for a Base-64 char array or string.]
System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength) +12707288
System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength) +130
System.Convert.FromBase64String(String s) +42
Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.UpdateKey(String keyValue, String keyName) in c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\Common\Auth\StorageCredentials.cs:259
Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(String accountName, String keyValue, String keyName) in c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\Common\Auth\StorageCredentials.cs:184
Telerik.Web.UI.AzureProvider.EnsureWebClient() +100
Telerik.Web.UI.CloudUploadHandler.EnsureWorker() +681
Telerik.Web.UI.CloudUploadHandler.ProcessRequest(HttpContext context) +182
Telerik.Web.UI.HandlerRouter.ProcessHandler(String handlerKey, HttpContext context) +92
Telerik.Web.UI.HandlerRouter.ProcessHandler(HttpContext context) +54
Telerik.Web.UI.WebResource.ProcessRequest(HttpContext context) +39
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +188
System.Web.<>c__DisplayClass285_0.<ExecuteStepImpl>b__0() +26
System.Web.StepInvoker.Invoke(Action executionStep) +101
System.Web.<>c__DisplayClass4_0.<Invoke>b__0() +22
Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule.OnExecuteRequestStep(HttpContextBase context, Action step) +64
System.Web.<>c__DisplayClass284_0.<OnExecuteRequestStep>b__0(Action nextStepAction) +54
System.Web.StepInvoker.Invoke(Action executionStep) +85
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +9980649
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +71
</pre></code>
Any help appreciated.
Thanks,
Joe
I have a radbutton in a CommandItemTemplate and I want to be able to set it invisible. I am going to use Active Directory to do a check to see who is using the application and hide the button for basic users. But right now I am just trying to hide the button in the PreRender sub. I am getting an error 'Index was outside the bounds of the array' error.
<div class="divColumn100">
<asp:Button ID="HiddenButton" runat="server" Text="HiddenButton" OnClientClick="HiddenButton_Click" Style="display: none;" />
<telerik:RadToggleButton ID="btnToggleActiveInactive" runat="server" Width="96%" AutoPostBack="true">
<ToggleStates>
<telerik:ButtonToggleState Text="Active Drivers" Selected="true" />
<telerik:ButtonToggleState Text="In-Active Drivers" />
<telerik:ButtonToggleState Text="Both Active and In-Active
Drivers" />
</ToggleStates>
</telerik:RadToggleButton>
</div>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server" IsSticky="true" InitialDelayTime="1000">
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"></telerik:RadAjaxLoadingPanel>
<telerik:RadWindowManager ID="rdwinDrivers" runat="server"></telerik:RadWindowManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel2"EnablePageHeadUpdate="False" UpdatePanelsRenderMode="Inline">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="HiddenButton">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdgrdDrivers" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="Panel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdgrdBirthDaysMonthly"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rfltMenu">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdgrdDrivers" UpdatePanelCssClass="" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rghcMenu">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdgrdDrivers" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<div id="demo" class="demo-container
no-bg">
<telerik:RadGrid ID="rdgrdDrivers" runat="server" Skin="Office2010Blue" AutoGenerateColumns="False" AllowPaging="True" PageSize="14" DataSourceID="dsDrivers"
AllowSorting="True" AllowAutomaticUpdates="True" ShowStatusBar="true" AllowFilteringByColumn="true">
<GroupingSettings CaseSensitive="false" />
<SelectedItemStyle CssClass="MySelectedClass" />
<MasterTableView DataSourceID="dsDrivers" CommandItemDisplay="Top" DataKeyNames="EMP_ID" EditFormSettings-PopUpSettings-KeepInScreenBounds="true" EditMode="PopUp">
<CommandItemTemplate>
<telerik:RadButton ID="btnAddEmp" runat="server" Text="Add New
Employee" CommandName="InitInsert"></telerik:RadButton>
</CommandItemTemplate>
<AlternatingItemStyle CssClass="MyRowClass" />
<EditFormSettings EditFormType="Template">
</EditFormSettings>
<Columns>
I have this is the PreRender to set the button visible=False.
Private Sub EmployeeInformation_PreRender(sender As Object, e As EventArgs) Handles Me.PreRender
Dim commandItem As GridCommandItem = CType(rdgrdDrivers.MasterTableView.GetItems(GridItemType.CommandItem)(0),
GridCommandItem)
Dim btn As Button = CType(commandItem.FindControl("btnAddEmp"), Button)
btn.Visible = False
End Sub
<
telerik:RadGrid
ID
=
"TasksRadGrid"
runat
=
"server"
PageSize
=
"20"
AllowFilteringByColumn
=
"false"
ValidationGroup
=
"NewTaskValidationGroup"
GridLines
=
"None"
AllowPaging
=
"True"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
Width
=
"700px"
ShowStatusBar
=
"true"
OnPreRender
=
"TasksRadGrid_PreRender"
OnNeedDataSource
=
"TasksRadGrid_NeedDataSource"
OnUpdateCommand
=
"TasksRadGrid_UpdateCommand"
OnInsertCommand
=
"TasksRadGrid_InsertCommand"
OnDeleteCommand
=
"TasksRadGrid_DeleteCommand"
>
<
MasterTableView
GridLines
=
"None"
Width
=
"700px"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"TID"
>
<
CommandItemSettings
AddNewRecordText="<%$ Resources:GeneralTelerikResource, TelerikRadGridAddNewRecordText %>"
RefreshText="<%$ Resources:GeneralTelerikResource, TelerikRadGridRefreshText %>" />
<
Columns
>
<
telerik:GridEditCommandColumn
UniqueName
=
"EditCommandColumn1"
ItemStyle-VerticalAlign
=
"Top"
EditText="<%$ Resources:GeneralTelerikResource, TelerikRadGridEditColumnText %>">
</
telerik:GridEditCommandColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"Status"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"10%"
HeaderStyle-Width
=
"10%"
HeaderText
=
"Status"
DataField
=
"Status"
>
<
ItemTemplate
>
<
asp:Image
ID
=
"StatusImage"
ImageUrl
=
"~/Common/Design/Imgs/Tasks/Statuses/New.png"
ToolTip
=
"New"
Width
=
"20px"
Height
=
"20px"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Priority"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"10%"
HeaderStyle-Width
=
"10%"
HeaderText
=
"Priority"
DataField
=
"Priority"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Title"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"35%"
HeaderStyle-Width
=
"35%"
HeaderText
=
"Title"
DataField
=
"Title"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"Comment"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"30%"
HeaderStyle-Width
=
"30%"
HeaderText
=
"Comment"
DataField
=
"Comment"
>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
UniqueName
=
"EndDate"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"15%"
HeaderStyle-Width
=
"15%"
HeaderText
=
"EndDate"
DataField
=
"EndDate"
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridButtonColumn
ConfirmText="<%$ Resources:GeneralTelerikResource, TelerikRadGridDeleteColumnConfirmText %>" ItemStyle-VerticalAlign="Top" ConfirmDialogType="RadWindow"
ConfirmTitle="<%$ Resources:GeneralTelerikResource, TelerikRadGridDeleteColumnConfirmTitle %>" ButtonType="ImageButton" CommandName="Delete" Text="<%$ Resources:GeneralTelerikResource, TelerikRadGridDeleteColumnText %>"
UniqueName="DeleteColumn">
<
ItemStyle
HorizontalAlign
=
"Center"
CssClass
=
"MyImageButton"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
UserControlName
=
"~/OU/Tasks/c/CreateTask/SubUserControl.ascx"
EditFormType
=
"WebUserControl"
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
Is it possible to have two sliders that adjust each other's values automatically client-side?
So both sliders have values 0 - 100 and if slider 1's value is adjusted to 60 then slider's value automatically becomes 40 (i.e. slider 2 value = 100 - slider 1 value and slider 1 value = 100 - slider 2 value)
I have a Radgrid that when the EditCommandColumn button is clicked I load a WebUserControl.
<EditFormSettings UserControlName="BudgetItemControl.ascx" EditFormType="WebUserControl">
<EditColumn UniqueName="EditCommandColumn1">
</EditColumn>
<PopUpSettings Modal="false" />
</EditFormSettings>
On the WebUserControlI have the following bound field...
<telerik:RadNumericTextBox ID="txtQty" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Qty") %>' DisabledStyle-
BackColor="Transparent"
EmptyMessage="Enter qty" Enabled="true" Font-Names="Arial" Font-Size="Small" ForeColor="#666699" MinValue="0"
RenderMode="Lightweight"
Skin="Silk" TabIndex="7" Type="Number" Value="0" Width="190px" Visible="true"
onkeyup="javascript: onChange();" onkeypress="return isFloatNumber(this,event);" >
On the form with the grid I have the javascript OnChange() event
when I try to get_value
var txt=$find("<%= RadGrid1.ClientID%>").get_masterTableView().get_dataItems()[1].findControl("txtqty")
I receive the following error: Cannot read property 'findControl' of undefined.
I can get the value when using an asp control.
var txt1 = document.getElementById("TextBox2").value; (THIS WORKS)
How can I get the RadNumericTextBox value?