iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
grid.LayoutSettings.FreezePaneSettings.ActiveFrozenColumns = columnPos;grid.FreezePane(true);
I do this through a new column context menu item. It calls a function with these two lines of code.
In the image attached, you'll notice there are two lines for the freeze column. Any idea why?
However, later on when I refresh the page, and look on the server side at that property it is still 2. Why is that?
var grid = ISGetObject('myGrid'); var settings = ""; for (var i = 0; i < grid.RootTable.Columns.length; i++) { if (settings.length != 0 && i < grid.RootTable.Columns.length) { settings += "," } settings += grid.RootTable.Columns[i].Name + ":" + grid.RootTable.Columns[i].Width + "px:" + grid.RootTable.Columns[i].Visible; }
parent.aspxfunction openPopup() { // I'm not using showModalDialog anymore. I'm using the JQuery ColorBox plugin, but I am adding this code as an explanation var returnObj = window.showModalDialog(URL, args, "edge:Raised;scroll:no;help:no;status:no;center:yes;resizable:no;dialogHeight:350px;dialogWidth:600px;dialogLeft:48px;dialogTop:50px;"); var grid = ISGetObject(myGrid); var columnSettings = returnObj.newColumnSettings.split(","); for (var i = 0; i < columnSettings.length; i++) { var settingTokens = columnSettings[i].split(":"); if (settingTokens[1] == "SHOW") { if (!grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible) { grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible = true; grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Show(); } } else if (settingTokens[1] == "HIDE") { if (grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible) { grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible = false; grid.RootTable.Columns.GetNamedItem(settingTokens[0]).HideFromView(); } } } wgDoResize(true, true); // this call posts back to the server so I can the new grid layout refreshPage(); }
Now...the popup
function closeWindow(callbackParams) { // call back params is an object in this case looks like {message: "some message", newColumnSettings: "a,comma,delim,string" } parent.modalCallback(callbackParams); }
Hans,It seems there is another issue with this approach...When I try to execute the following code in the JS, I always get a JS error as listed below. It seems to always break on either Show() or HideFromView();Any ideas?
TypeError: va7744 is null[Break On This Error] ...30); if (ve2630.tagName =="TR" ||ve2630.tagName =="TD") return wgab058.m3c386(ve... ISRes....7200533 (line 9)
var grid = ISGetObject(myGrid); var columnSettings = returnObj.newColumnSettings.split(","); for (var i = 0; i < columnSettings.length; i++) { var settingTokens = columnSettings[i].split(":"); if (settingTokens[1] == "SHOW") { if (!grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible) { grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible = true; grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Show(); } } else if (settingTokens[1] == "HIDE") { if (grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible) { grid.RootTable.Columns.GetNamedItem(settingTokens[0]).Visible = false; grid.RootTable.Columns.GetNamedItem(settingTokens[0]).HideFromView(); } } } wgDoResize(true, true);
I'm passing in a string that looks like colName:SHOW,colName:HIDE,colName:SHOW. I've confirmed that the strings are being split correctly as well.
<script type="text/javascript">function removeColumn(colName) { var grid = ISGetObject(gridName); var col = grid.RootTable.Columns.GetNamedITem(colName); // How can I do this step? col.Visible = false; // here I would like to create a post back to the server so I can do some modification to my column list on the server side. refreshPage(); } </script>
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname