/******************************************************************************* * Copyright (c) 2007, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: *     IBM Corporation - initial API and implementation ****************************************************************************** * **//**  * Object onrowenter()  * @type onrowenter  * @super Object  * @memberOf onrowenter  * @since JScript 5.6  * @see http://msdn2.microsoft.com/en-us/library/ms536962.aspx*/function onrowenter(){};onrowenter.prototype= new Object();