Hello,
I have run into an issue with resizing a ListGrid in our application that I believe has something to do with how layouts function. I don’t think this is an issue with the framework, I’m just hoping there is something simple I’ve missed.
Essentially, we have a main grid with a TabSet below it. One of its tabs contains a VLayout which has a single ListGrid member with a resize bar. However, this resize bar doesn’t allow the grid to grow in size, only to shrink until it reaches the minHeight of the grid. I have found that disabling the resize bar on the grid, setting canDragResize: true, and setting dragTarget to be the VLayout containing the grid in question provides the functionality I’m looking for. I think the resize bars look much better however and would like to do this using those. I am aware of the resizeBarTarget property but setting that to “next” does not seem to help things.
Is there a way to achieve this using resize bars? Any thoughts on how to do this are greatly appreciated. Please let me know if further information is needed.
SmartClient Version: v12.1p_2021-06-05/Pro Deployment (built 2021-06-05)
I have run into an issue with resizing a ListGrid in our application that I believe has something to do with how layouts function. I don’t think this is an issue with the framework, I’m just hoping there is something simple I’ve missed.
Essentially, we have a main grid with a TabSet below it. One of its tabs contains a VLayout which has a single ListGrid member with a resize bar. However, this resize bar doesn’t allow the grid to grow in size, only to shrink until it reaches the minHeight of the grid. I have found that disabling the resize bar on the grid, setting canDragResize: true, and setting dragTarget to be the VLayout containing the grid in question provides the functionality I’m looking for. I think the resize bars look much better however and would like to do this using those. I am aware of the resizeBarTarget property but setting that to “next” does not seem to help things.
Is there a way to achieve this using resize bars? Any thoughts on how to do this are greatly appreciated. Please let me know if further information is needed.
SmartClient Version: v12.1p_2021-06-05/Pro Deployment (built 2021-06-05)
Code:
isc.ClassFactory.defineClass(“ScreenName”, isc.VLayout).addProperties({
panelCanvasDefaults: {
_constructor: isc.VLayout,
height: “100%”,
width: “100%”,
overflow: “auto”,
},
mainGridDefaults: {
_constructor: isc.ListGrid,
width: “100%”,
height: 300,
minHeight: 125,
margin: 5,
autoParent: “panelCanvas”,
showResizeBar: true,
autoFitFieldWidths: true,
autoFitWidthApproach: “both”,
showFilterEditor: true,
selectionType: “single”,
allowFilterOperators: false,
canMultiSort: false,
dataSource: “mainDataSource”,
autoFetchData: true
},
tabContainerDefaults: {
_constructor: isc.VLayout,
height: 1,
width: “100%”,
padding: 5,
autoParent: “panelCanvas”
},
mainTabSetDefaults: {
_constructor: isc.TabSet,
autoParent: “tabContainer”,
width: “100%”,
overflow: “visible”,
paneContainerOverflow: “visible”
},
secondaryPaneDefaults: {
_constructor: isc.VLayout,
width: “100%”,
autoParent: “panelCanvas”
},
secondaryGridDefaults: {
_constructor: isc.ListGrid,
width: “100%”,
height: 250,
minHeight: 125,
margin: 5,
showResizeBar: true,
autoFitFieldWidths: true,
autoFitWidthApproach: “both”,
showFilterEditor: true,
selectionType: “single”,
allowFilterOperators: false,
canMultiSort: false,
autoParent: “secondaryPane”,
dataSource: “secondaryDataSource”
},
initWidget : function() {
this.Super(“initWidget”, arguments);
this.addAutoChild(“panelCanvas”);
this.addAutoChild(“mainGrid”);
this.addMember(isc.LayoutSpacer.create({height: “*”});
this.addAutoChild(“tabContainer”);
this.addAutoChild(“mainTabSet”);
this.mainTabSet.paneContainer.addProperties({height: 1});
this.mainTabSet.addTab({title: “Main Tab”, pane: this.addAutoChild(“secondaryPane”)});
this.addAutoChild(“secondaryGrid”);
}
});
Comment