User Profile & Activity

leo Chandra Member
Page
of 14

Hi Eray Geveci,

I would assume that your WebGrid use default new row form and the next button you mention is WebGrid paging next button.

I have test ClassicPaging.aspx sample included in installation folder with AllowAddNew change to "Yes". The result show that the information typed in new row form still remain after I click next page button.

Please tell me if there is something missing during my test.

FYI, you could use ISGetObject("WebGrid1").IsInEditMode to check whether there is a row that is in edit state.

Best Regards,
Leo

Posted: February 23, 2015 9:27 AM

Hi Dev Ashish,

Unfortunately, WebCalendar still not support disabling specific date. But you could adopt this hack technique by running the following javascript on WebCalendar OnAfterRender ClientSideEvents:

function EnableOnlyDateRange(WebCalendar, fromDate, toDate)        {
            var a = document.querySelectorAll("#" + WebCalendar.ID + "_f td[unselectable = 'on']");
            if (fromDate)
            {
                fromDate.setHours(0, 0, 0, 0);
            }
            if (toDate)
            {
                toDate.setHours(0, 0, 0, 0);
            }
            for (var i = 0; i < a.length; i++)
            {
                var dateDay = new Date(a[i].getAttribute("y"), a[i].getAttribute("m") - 1, a[i].getAttribute("d"));
                if ((fromDate && dateDay < fromDate) || (toDate && dateDay > toDate))
                {
                    a[i].setAttribute("class", WebCalendar.OutboundCellStyle);
                    a[i].setAttribute("cssname", WebCalendar.OutboundCellStyle);
                    a[i].onclick = function () { event.stopPropagation(); };
                }
            }
        }
Please note that it will only work on browser that have a support for querySelectorAll.

To make the disabled date(outbound date) look different, you could simply change it through WebCalendar OutboundCellStyle property.

As a reference, I have attach a simple working sample. Please have the sample evaluated on your end by adding it to WebEssentials sample which is included in the installation folder.


Best Regards,
Leo

Hi Jimmy Tungol,

Unfortunately, Crosslight not yet support circular image on ListView controls using formbuilder.
But you could adopt other approach by using UITableViewController on iOS and override the CellImageSettings to have a CornerRadius. Example:

public override ImageSettings CellImageSettings {
	get 
	{
		return new ImageSettings() 
		{
			ImageSize = new SizeF(36, 36),
			CornerRadius = 18;
		};
	}
}


Best Regards,

Leo

Hi Vishal,


I have test BatchUpdate_Enterprise.aspx in WebGrid sample included in installation folder. Unfortunately I couldn't reproduce your issue. WebGrid is working normally on IE without compatibility mode turn on. Please have BatchUpdate_Enterprise.aspx sample (included in installation folder) evaluate at your end.

I am willing to advise you further but in order to do so I would need you to provide me with a sample that replicate your problem so I can use it to observe the problematic behaviour.


Best Regards,

Leo

Posted: February 12, 2015 3:16 AM

Hi zak benza,


Please used setInterval instead of while loop as while loop will keep your page busy. In other words it will be hard for your page to do anything else (ex: process WebGrid last action and update WebGrid status) while the script is looping so you will be stuck at the loop.

intervalObj = setInterval(function (){
	if (!grid.IsInProgress)
	{
		/* do something here */
		clearInterval(intervalObj);
		intervalObj = null;
	}
}, 5);


Best Regards,
Leo

Posted: February 12, 2015 2:58 AM

Hi x-rookie,


You could attach the javascript to windows onpaint event if WebGrid OnInitialize event doesn't work for you. The point is, you need to run that script before WebInput was initialized. As a reference, I have attached a simple working sample. Please have the sample evaluated on your end by adding it to Webgrid sample which is included in the installation folder.


Best Regards,

Leo

Hi Bob Elvin,


The most simple way would be by clearing the SelectedRows before you send PostBack using the following JavaScript code:

ISGetObject("WebGrid1").RootTable.SelectedRows = [];


Best Regards,
Leo

Hi Rupesh,

I have once again test my sample and could not found the error. Please help me identify the error by modify the sample that I have send you before and tell me the step-by-step to replicate the error.


Best Regards,

Leo

Hi Rupesh,

By Default, WebGrid will show an information regarding the incorrect user input, if exist, when user select one of filter type from filter context menu or when user have exit edit mode. If you feel uncomfortable with that behaviour, you could change the behaviour through WebGrid available ClientSide Event. You could use OnExitEditMode ClientSide Event and "Is Between" filter ContextMenu Click behaviour to replacing "AND" to "and" in filter text value before validation was executed.

The following are the example of how to do it:

function WebGrid1_OnExitEditMode(controlId, tblName, editObject){
	var Grid = ISGetObject(controlId);
	var SelectedRow = Grid.GetSelectedObject().ToRowObject();
	if (SelectedRow.Type == "FilterRow")
	{
		var CellElement = editObject.cellElement;
		var FilterType = CellElement.getAttribute("filtertype");
		// Only for Filter Type 7 (Between), 10 (not between)
		if (FilterType == "7" || FilterType == "10")
		{
			if (editObject.element.value.toLowerCase().indexOf(" and ") != -1)
			{
				editObject.element.value = editObject.element.value.replace(/ and /ig, " and ");
			}
		}
	}
}
var tempOnclick = null;
function FilterMenu_OnClick(menuItem)
{
	var CurrentColumn = menuItem.OwnerMenu.MenuControl.CurrentColumn;
	var LastFo = CurrentColumn.Table.LastFo;
	var FilterNode = LastFo.childNodes[0];
	if (FilterNode.innerHTML == "")
	{
		LastFo.setAttribute("filterType", menuItem.FilterIndex);
	}
	else
	{
		FilterNode.innerHTML = FilterNode.innerHTML.replace(/ and /ig, " and ");
		LastFo.filterText = FilterNode.innerHTML;
		tempOnclick(menuItem);
	}
	return true;
}
function WebGrid1_OnFilterContextMenu(controlId, col, menu, location)
{
	if (tempOnclick == null)
	{
		var MenuItem1 = menu.Items.GetNamedItem("mnuBetween");
		tempOnclick = MenuItem1.OnClick.toString();
		tempOnclick = eval("(" + tempOnclick + ")");
		MenuItem1.OnClick = "FilterMenu_OnClick";
		var MenuItem2 = menu.Items.GetNamedItem("mnuNotBetween");
		MenuItem2.OnClick = "FilterMenu_OnClick";
	}
}
For date column, you could use Verbose Editing Information. This feature is useful to deliver intuitive editing experience for users as they can notice on important information related to a specific column in status bar area. It allows you to assign information text and image for each WebGridColumn. When you click on the cell, the verbose info text will appear in the status bar. To enable it, please change the following WebGrid Attributes accordingly:
1. Set LayoutSettings >> VerboseEditingInformation to "True".
2. Set EditInfoText to your desired information For every column you want. ex: EditInfoText="Date Format: MM/DD/YYYY"

As a reference, I have attached a simple working sample. Please have the sample evaluated on your end by adding it to Webgrid sample which is included in the installation folder.


Best Regards,
Leo

Hi Devbrat Ghosh,

Currently we don't support this feature yet. When you export to Excel, the DotNet/C# date formats are not the same as the ones in Excel, so the grid cannot export the format along with the data.
For your information, you could format the date into your desired format using dataformatstring in the OnExport server-side event handler.
Example:

protected void WebGrid1_Export(object sender, ExportEventArgs e){
    e.ReportInfo.IsEnableDataFormatString = true;
    e.Table.Columns.GetNamedItem("OrderDate").DataFormatString = "dd/MM/yyyy";
}


Best Regards,
Leo

All times are GMT -5. The time now is 5:05 PM.
Previous Next