Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature requests #40

Open
elylv opened this issue Aug 5, 2021 · 9 comments
Open

Feature requests #40

elylv opened this issue Aug 5, 2021 · 9 comments

Comments

@elylv
Copy link

elylv commented Aug 5, 2021

This control looks interesting, it seems very responsive. There are a few things missing, however, that I would require before considering switching. I hope you can implement some of these in the future.

  • Paging - virtualization is great, but sometimes a pager is preferable
  • Per-column filtering
  • Column drag and drop to rearrange
  • Column selection, so columns can be shown/hidden
  • The ability to read/set the column statue (column order, visible status, sort order, filters)
  • Toolbar for top of grid, and button columns that work with the context of the row they appear on
@Akinzekeel
Copy link
Owner

Thank you for your suggestions. I will evaluate those for future versions.

What do mean by "button columns"? Do you have an example?

@elylv
Copy link
Author

elylv commented Aug 10, 2021

What do mean by "button columns"? Do you have an example?

The ability to have a column that contains buttons, and if you click the button, an event can fire with the parameter as the item that the row represents. For example, a "delete" button, which we can have fire a DeleteListItem(object listItem), so we can add a button to delete an item in the grid, and it will pass that item in its event.

@Akinzekeel
Copy link
Owner

Akinzekeel commented Aug 30, 2021

This should already be possible. For example, you could define a button column like so:

<StaticGridCol FitToContent="true" AlignRight="true">
    <button class="button" @onclick:stopPropagation="true" @onclick="() => DeleteListItem(context)">Delete</button>
</StaticGridCol>

Update: I've added an example to the docs, please have a look https://blazorgrid.z6.web.core.windows.net/examples/buttons

@NessfertIndia
Copy link

  • Paging - virtualization is great, but sometimes a pager is preferable

Definitely this feature will makes this component much better and more user friendly

I would like to add one more feature request if possible

Ability to Select /Deselect a Row / Multiple rows [ Either by checkbox or by different CSS for selected rows ]

@Akinzekeel
Copy link
Owner

@NessfertIndia have you checked the Row highlighting example? Maybe this is what you are looking for

@NessfertIndia
Copy link

Row highlighting is allowing selection of 1 row . Any way to make this multi selection and Can we highlight / differentiate between selected rows and non selected rows visually

@Akinzekeel
Copy link
Owner

@elylv I have revisited this issue and gone through your suggestions in more detail to consider them for implementation, however I feel that all of these are beyond the scope of a "light weight" component.

For example:

  • Per-column filtering: since we focus on displaying remote data, all we could do here is pass on information to the server side. This is something you can already do in the Provider delegate anyway.
  • Column drag & drop: probably the most feasible of the list, however it only makes sense in combination with state-saving (for example via local storage) - once again diminishing the "light weight" aspect of the component

As for paging & toolbar, there are already dozens of grid components available which have these things as well as stuff like grouping, footers etc. If we add all of that then it's not a light weight component anymore.

@NessfertIndia multiple row selection sounds interesting, could you share the use case for this?

@NessfertIndia
Copy link

Multiple row selection scenarios is common if we deal with a list of table data where we want to select multiple items from the table and allow to perform further actions on that.
One of the example I have to deal with is
Show a list of contacts in a table
Allow the user to select 1 or more contacts by pressing a checkbox [ Selected checkbox can be moved to unchecked state as well]
Perform an operation against the selected contacts [ For me it was Remove selected Contacts / Mark Selected Contacts as Premium Members ]
A possible example can be found here: https://mudblazor.com/components/table#multi-selection [ Search for content Multi-selection on the page if the URL not showing correctly] I used Mudblazor on my projects , but this multi-selection is not maintaining selections if we are doing paging sorting filtering etc and I am still in search for alternate controls

Hope the explanation is clear and let know if need more info

@HybridSolutions
Copy link

Why not implementing checkboxes for selecting each row with a header checkbox to select all items in the current page? This is very useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants