Magento grid is a table which is responsible for listing database items to display in a managed way. This grid avails the feature to sorting, filtering and updating data items as per the requirements of admin users. There are many default grids available in Magento 2 like product grid, order grid, review grid etc. But sometimes you require to create a custom grid to manage and show database items of your custom module. This requires to custom code to create an admin grid in Magento 2.
There are 2 ways to create admin grid in Magento 2: using layout and using component. Here I will show you both the methods to create grid and use it in your module.
In layout file, declare an uiComponent for content of the page.
mc_grid_data Vendor\Extension \Model\ResourceModel\Extension Vendor\Extension\Model\ResourceModel\Extension\Grid\Collection
You will need a layout file to connect with Grid Block and render the grid. Create extension_demo_grid.xml file at app/code/Vendor/Extension/view/adminhtml/layout/extension_demo_grid.xml
Note: You need to create model and ResourceModel for your extension prior to implementing this. Also
you need to add code in xml to add other fields.
Creating admin grid in Magento 2 is not rocket science but it needs proper and streamlined coding. After implementing above code, your admin grid will get ready. Let me know if you have any query, I’ll be glad to help you. Your feedback and suggestions are awaited through commenting. Till then, Happy Coding.
Hello Magento Friends, In Magento 2, the checkout process allows customers to choose multiple shipping…
If you are a Shopify admin, using a Shopify Balance Account for your business revenue…
Running an eCommerce business can be incredibly demanding, leaving entrepreneurs little time to focus on…
Generating image thumbnails is a common requirement in web applications, especially when handling media-heavy content.…
In today’s digital landscape, web application security is paramount. As a powerful PHP framework, Laravel…
October was an exciting month for MageComp! From significant updates across our Magento 2 extension…
View Comments
Hi,
How to join two table in grid ,I was search and tried to implement but getting no data in grid and also I think main_table alise not getting can you explain it step by step, also try with mass deletion
Kindly confirm you replace the proper value with the table name and model class.
Hi,
This involves creating a table. If I don't need to use a table, how can I declare source to use to populate the table? I mean: part of my module consists of adding a custom attribute to a category. and I want to build an admin grid that lists only the categories which don't have the custom attribute filled in. In this case, the module doesn't need a custom table, it simply fetches the category collection and filter the collection to get only the categories with the custom attribute empty. I have already created a Controller and a Block to fetch the data but how can I pass those data to the grid?
Try using Admin grid using layout method.
Hi,
This involves creating a table. If I don't need to use a table, how can I declare source to use to populate the table? I mean: part of my module consists of adding a custom attribute to a category. and I want to build an admin grid that lists only the categories which don't have the custom attribute filled in. In this case, the module doesn't need a custom table, it simply fetches the category collection and filter the collection to get only the categories with the custom attribute empty. I have already created a Controller and a Block to fetch the data but how can I pass those data to the grid?
Try using Admin grid using layout method.
Where VendorExtensionGridDataProvider goes from? I didn't find the declaration.
"item name="vendor_extension_grid_listing_data_source" xsi:type="string"
Vendor\Extension\Model\ResourceModel\Extension\Grid\Collection "
this line in di.xml means declaration of datasource
Where VendorExtensionGridDataProvider goes from? I didn't find the declaration.
"item name="vendor_extension_grid_listing_data_source" xsi:type="string"
VendorExtensionModelResourceModelExtensionGridCollection "
this line in di.xml means declaration of datasource
Hi,
what does the Line:
return $this->_authorization->isAllowed('Vendor_Extension::grid');
exactly. What does the Argument Vendor_Extension::grid??
Please check, the code here is updated. This code is used to assign role of the grid.
Hi,
what does the Line:
return $this->_authorization->isAllowed('Vendor_Extension::grid');
exactly. What does the Argument Vendor_Extension::grid??
Please check, the code here is updated. This code is used to assign role of the grid.