I have created a smartgwt list grid. The grid headers are static and the content is filled with server side data.
The code looks something like this
ListGrid grid = new ListGrid();
grid.setFields();//set columns names..
grid.setData();//pass datasource..
On page load, it first initialize the grid object, set field names (columns) and when the server side data is available, it populates the grid.
This approach is fine when the columns/headers are static. However, I am trying to modifying the grid so that headers are set dynamically. To be more specific, server data will include information about grid header (number of columns of the grid, column names etc). One way to do this, put the header information in a grid content cell and design that cell to look like header.
I want to know if there is any better approach to do this ?
did you see this:
http://www.smartclient.com/smartgwt/showcase/#grid_top_header
Related
I have a ui grid that has 20 columns, and I would like to be able to tell what the next column will be as I scroll through the horizontal axis so that I can have some text that will tell the users what the names of all the columns they can't see are.
Anyone know if this is possible? As I watch the the inspector and scroll through the columns, I see html attributes changing.
---UPDATE 1----
This is what is all looks like (where it says "home #" is dynamic and will change to show the next column that is out of site)
Based on the ui-grid configuration that you use to render the grid, you already know the order of the columns. You can use this information together with the visible on each column added by the gird itself.
What you need to do is bind a event handler on scroll to iterate over the columns on each change and check the visibility of them. Then the first one with visible === false is the upcoming.
Here is a working Plunker where is used this flag.
I am trying to figure out two things. First, is it even possible. Second, am I on the correct path?
I am making an ASP.net Kendo UI Grid that just needs a very simple two table, inner join from an Entity Framework model. The issue is that one of the fields is incredibly large. It requires me to set the value to the json object size to max int value just to be able to return a single table result.
Because the resulting set is so large, I do not seem to be able to use a view model. It just returns a size limit error on that as well. Is there a way to return a very large dataset from two tables to a single Kendo UI grid? I have tried every suggestion from every existing answer on Stack Overflow and the Telerik forums.
I don't really think that some user need information which cannot be handled by default json object size.
May be should load first 50-100 characters from that field to grid and if user click on cell load rest of the data.
Another way is using virtual scroll or paging.
If kendo model cant handle your field size, you can add columnt to each row with view large data button and open window with text field loaded from db on click.
I need to display multiple ui grids in my screen. The number of grids are dynamic.
Scenario: I am adding some people in a list and proceeds to next screen where I need to display their details in a separate ui grid. How can I create grid options dynamically?
Wrap up the code and html inside a directive, pass the table data to the directive.See the answer from user CMR here...I hope this helps.
Custom directive for Ui Grid
I am trying to use jqGrid to display tabular data in groups (shown in image below) and having trouble displaying headers for each group (as Hierarchical jqGrid displays columns headers for child grids). I have included how default jqGrid Grouping looks like.
Is there any way to implement this? Also is it possible to display summary in group header row instead of footer?
Thank you
What you want contains too many changes in the standard structure of the grid. I suppose that you want that the "Groups" header and sub-headers "Group Header 1", "Group Header 2", "Group Header 3" should be resizable. It seems me a little too difficult in the implementation.
Probably you should use better subgrids instead of data grouping? If you need hold the width of last columns of subgrids synchronous with the width of last columns of the main grid you can use approach which I described in the answer. You can use resizeStop callback to catch changing of column size and you can call setColWidth method (see the answer for more details) on another grid (on main grid and other opened subgrids).
I create a table dynamically from json data. I then allow the user to update certain elements in the table. Before the update the table looks as follows:
I inspect the element and it has the following:
Then after I update the table, the styles added to the input boxes and selects in the table are removed:
I would like to know, how would I add back these styles (i.e ui-select, ui-btn-inner etc) so that the tables dont lose their styling when I recreate the tables. I want to know how to add back the styles to the select, input and the colour of the "Update TextBooks".
just to shed some more light on the answer so that people understand everything 100%. I was always calling code that basically kept reconstructing the above table, as seen in the pictures above.
In order to keep adding the jQuery Mobile formatting and css to the table everytime one has to call the .trigger() method on the table. So for example I would dynamically create an a table based in the users values entered previously. For this solution lets say my table has an id of id = 'updatetable'.
Thus to fix the above problem simply use:
$("#updatetable').trigger('create');
after you have dynamically created the table.