Problem if column 1 is hidden

I’ve got a grid where we want to allow the user to hide the first column. This causes some strange problems. For instance, when the grid is hidden, if we call ‘selectRow’, then the hidden cell becomes selected (because selectRow does ‘selectCell(row, 0 (column)…)’). Now, when you use the keyboard navigation, the newly selected row always gets put to the top of the page, because the selected cell isn’t visible, and the code scrolls to the row if the selected cell hasn’t been rendered.

I had to change the selectRow(ById) functions by putting the following in my code to initialise the grid:

	this.getFirstVisibleColumn=function()
	{
		var col = 0;
		for (var i =0; i < this.getColumnsNum(); i++)
		{
			if (!this.isColumnHidden(i))
			{
				col = i;
				break;
			}
		}
		return col;
	}
	
	this.selectRowById=function(row_id, multiFL, show, call){
		if (!call)
			call=false;
		this.selectCell(this.getRowById(row_id), this.getFirstVisibleColumn(), call, multiFL, false, show);
	}
	
	this.selectRow=function(r, fl, preserve, show){
		if (typeof (r) != 'object')
			r=this.render_row(r);
		this.selectCell(r, this.getFirstVisibleColumn(), fl, preserve, false, show)
	};

This selects the first visible cell in a row, rather than always selecting column 0.

Problem confirmed.
We will check how it can be fixed in main codebase.