I have two xtragrid in a form, both have the same objects as a datasource... my problem is:
If I select a value from a RepositoryLookUpEdit in the first grid, the second grid must disable the same RepositoryLookUpEdit, for example:
The object is a Product, which has an Id = 1, I select the storage of the product to Storage = "In stock", the second grid must disable the Storage column.
At this point I have been disable the repository, but it disables all the repositories in the column, and not the only want that I need. Also I disable the repository, but the grid get stuck in the first row and I can't select any othe row.
I don't understand all of what you have said, but you can try the following approaches:
To assign individual editor for rows subscribe to CustomRowCellEdit event.
To manipulate a data source of a repository item on value change of another repository item, subscribe to the EditValueChanged event of the latter repository item.
Any code you provide will be helpful in diagnosing the case.
Related
I am working on ADF application.
I have table and I need to insert data into it cell by cell and column by column in order.
For example:
on start, all cells should be disables except only one cell (the first cell at YearworkDegree column)
if user entered value for that cell it should open below cell.. etc
after finishing YearWorkDegree column it should open first cell from the second column MidtermDegree and so on.
Is there a feature in ADF I can use in that case, or should I think in JavaScript to handle that case.
You can set the properties of one field to be dependent on the other and set partial page refresh between the two - so when you change the value in the first - the second on becomes enabled.
That being said - doing this is going to cause a lot of chattiness to the backend server (on each field change).
So you basically need something like tab navigation between cells but in a different order (downwards). There is no integrated functionality for this in ADF, you have to do it by yourself by writing a custom JS handler.
Please check this example
You can then modify it for your needs (making only the current cell enabled for editing, etc).
I have an ag-grid (free reactjs version) with lots of columns and records to load.
Some columns are not necessary, so the user can drag the columns out of the grid (and hence hide them). This is fine but how can the user show the hidden columns again without refreshing the page?
I don't want to suppress column drag, just a way to undo the hide without refreshing.
Any advice?
Shameless plug: The enterprise version has this feature in two places, Tool Panel and Column Menu.
However, thankfully it is rather easy to implement this feature yourself using a single columnApi call, well... one of these:
resetColumnState()
This will reset the state of the columns to what you initially defined them as. It will basically make everything visible again
setColumnVisible(colKey, visible)
Just pass in the colId of the column (usually what you passed in as 'field'... but it could be different depending on your set up) and a truthy or falsey value and this will show/hide the column
setColumnsVisible(<Array> colKeys, visible)
note the s - other than that it is the same as before, but you provide an array of colKeys that you want to all be hidden or shown. If you wanted to provide an array of all your columns with another array of whether they should be shown or not then use the last option here setColumnState
setColumnState(<Array> columnState)
This is probably overkill for what you are trying to do, but this will allow you to set the state of all the columns, whether they are visible or not, pinned to different sides, fixing the widths, etc.
Basically I can see you doing one of two things:
Create a button that will make all the columns visible and call gridOptions.columnApi.resetColumnState() when it is clicked
-- OR --
Create a list of check boxes that will listen for a change and call one of the other functions. This list could be outside of your grid, or even inside of your grid in a Custom Filter Component (find the athlete column of the first example to see what I mean.)
I got a ComboBox in Vaadin and want to reload (from db) the set of entries in the dropdown list while typing in the text field of the ComboBox. I always got the exception:
java.lang.IllegalStateException: A connector should not be marked as dirty while a response is being written.
I tried to lock the session (getUI().getSession().getLockInstance().lock();), but it didn't help.
Is it possible to dynamically set/load the selection list of a ComboBox?
Cheers
Stefan
why do you want to change the content from DB as the user type? you'll get a postback and a query every key the user presses... isn't better to use the standard combo feature (which tries to autocomplete the value given what the user is typing)?
Anyway, if you really need this feature, you may extend the standard behaviour of combo extending the container behind the combo, as the data shown is taken from a container.
I have multiple combo boxes which should be inter related. I need to change the combo box values based on a value selected in one combo box.
Say, If I select one Category in combo box, then all the other combo boxes should be getting values which are related to Category.
Please have a look at the table below:
If you have a lot of values in your combo-box, it's not necessary to early load all.
You can fill them "manually" by a "querymode : local".
So, your query who fill your combo should depends on the others
Each combobox needs to be assigned a store .
In your case, you can create one store with only Categories data and another store with all the data shown in your grid one for each of the dependent combo boxes.
Using onselect event listener of Categories dropdown, you can filter the stores of the dependent comboboxes.
(If you want to know how to define a combobox and store, you can look at the below example
http://try.sencha.com/extjs/4.1.1/docs/Ext.form.field.ComboBox.1/
and several others from sencha docs.)
I have a column in a grid with editor as combo-box.
When the grid is loaded then all the column values get displayed properly.
The issue is, when user clicks at the column (having combobox as editor) to edit it then the column value becomes null as shown in the attached screenshot.
I understand that the value becomes null as the store of combobox has not been loaded yet.
I can not use autoLoad true due to the heavy amount of data present in the combobox store. Moreover, even if I use autoLoad:true for the store with paging in it, then that too safeguards only those values which are present in the first page and not all.
Thus, how can I maintain the value in grid column when that value is not present in the store of combobox used as editor for the column?
Could anyone guide at this?
PS: I am using ExtJS Ver 4.0.2a
I have been able to find a solution for this.
It has more to do with the version of ExtJs. If we upgrade to 4.0.7 and then use forceSelection:false for a combobox then things work fine as expected. That is, the combo-box accepts a value which doesn't exist in its store and doesn't set the current value to null.
Hope this helps someone else too looking for something similar.
I would suggest having the grid record contain both that columns value, as well as display value. If the combo store lookup is unable to find a matching value (because that combo store hasn't been loaded yet), then revert to showing the display value stored with the grid record.
You might also need to have the afteredit event on the grid update that grid records display value after that column is edited for a particular row.