{"id":13536693,"url":"https://github.com/bosskmk/pluto_grid","last_synced_at":"2025-04-02T03:30:59.586Z","repository":{"id":37204941,"uuid":"287896550","full_name":"bosskmk/pluto_grid","owner":"bosskmk","description":"PlutoGrid is a dataGrid for flutter that can be controlled by the keyboard on desktop and web. Of course, it works well on Android and IOS.","archived":false,"fork":false,"pushed_at":"2024-08-12T13:56:28.000Z","size":3752,"stargazers_count":672,"open_issues_count":30,"forks_count":309,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-10-29T16:20:16.650Z","etag":null,"topics":["datagrid","datatable","filtering","flutter","frozen-columns","grid","grouping","pagination","sorting","sticky-headers","table"],"latest_commit_sha":null,"homepage":"https://pluto.weblaze.dev","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bosskmk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"bosskmk","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/manki"]}},"created_at":"2020-08-16T07:35:41.000Z","updated_at":"2024-10-24T15:35:48.000Z","dependencies_parsed_at":"2023-02-04T04:35:57.466Z","dependency_job_id":"7cf4a4bf-7fa8-4756-a238-0da39fcf64e5","html_url":"https://github.com/bosskmk/pluto_grid","commit_stats":{"total_commits":959,"total_committers":30,"mean_commits":"31.966666666666665","dds":0.08237747653806049,"last_synced_commit":"3a2e74190d3d4bc85f82de2793f97d533aea7dbc"},"previous_names":[],"tags_count":112,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosskmk%2Fpluto_grid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosskmk%2Fpluto_grid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosskmk%2Fpluto_grid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bosskmk%2Fpluto_grid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bosskmk","download_url":"https://codeload.github.com/bosskmk/pluto_grid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246461400,"owners_count":20781324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datagrid","datatable","filtering","flutter","frozen-columns","grid","grouping","pagination","sorting","sticky-headers","table"],"created_at":"2024-08-01T09:00:47.373Z","updated_at":"2025-04-02T03:30:59.563Z","avatar_url":"https://github.com/bosskmk.png","language":"Dart","readme":"## PlutoGrid for flutter - v8.0.0\n\n[![Awesome Flutter](https://img.shields.io/badge/Awesome-Flutter-blue.svg)](https://github.com/Solido/awesome-flutter)\n[![codecov](https://codecov.io/gh/bosskmk/pluto_grid/branch/master/graph/badge.svg)](https://codecov.io/gh/bosskmk/pluto_grid)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\u003cbr\u003e\n\n`PlutoGrid` is a `DataGrid` that can be operated with the keyboard in various situations such as\nmoving cells.  \nIt is developed with priority on the web and desktop.  \nImprovements such as UI on mobile are being considered.  \nIf you comment on an issue, mobile improvements can be made quickly.\n\n\u003cbr\u003e\n\n### [Demo Web](https://bosskmk.github.io/pluto_grid/build/web/index.html)\n\n\u003e You can try out various functions and usage methods right away.  \n\u003e All features provide example code.\n\n\u003cbr\u003e\n\n### [Pub.Dev](https://pub.dev/packages/pluto_grid)\n\n\u003e Check out how to install from the official distribution site.\n\n\u003cbr\u003e\n\n### [Documentation](https://pluto.weblaze.dev/series/pluto-grid)\n\n\u003e The documentation has more details.\n\n\u003cbr\u003e\n\n### [ChangeLog](https://github.com/bosskmk/pluto_grid/blob/master/CHANGELOG.md)\n\n\u003e Please note the changes when changing the version of PlutoGrid you are using.\n\n\u003cbr\u003e\n\n### [Issue](https://github.com/bosskmk/pluto_grid/issues)\n\n\u003e Report any questions or errors.\n\n\u003cbr\u003e\n\n### Packages\n\n\u003e [PlutoGridExport](https://github.com/bosskmk/pluto_grid/tree/master/packages/pluto_grid_export)  \n\u003e This package can export the metadata of PlutoGrid as CSV or PDF.\n\n\n\u003cbr\u003e\n\n### Screenshots\n\n#### Change the color of the rows or make the cells look the way you want them.\n\n![PlutoGrid Normal](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_01.png)\n\n\u003cbr\u003e\n\n#### Date type input can be easily selected by pop-up and keyboard.\n\n![PlutoGrid Select Popup](https://bosskmk.github.io/images/pluto_grid/3.1.0/pluto_grid_3.1.0_01.png)\n\n\u003cbr\u003e\n\n#### The selection type column can be easily selected using a pop-up and keyboard.\n\n![PlutoGrid Select Date](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_03.png)\n\n\u003cbr\u003e\n\n#### Group columns by desired depth.\n\n![PlutoGrid Cell renderer](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_04.png)\n\n\u003cbr\u003e\n\n#### Grid can be expressed in dark mode or a combination of desired colors. Also, freeze the column, move it by dragging, or adjust the size.\n\n![PlutoGrid Multi select](https://bosskmk.github.io/images/pluto_grid/2.8.0/pluto_grid_2.8.0_05.png)\n\n\u003cbr\u003e\n\n### Example\n\nGenerate the data to be used in the grid.\n\n```dart\n\nList\u003cPlutoColumn\u003e columns = [\n\n  /// Text Column definition\n  PlutoColumn(\n    title: 'text column',\n    field: 'text_field',\n    type: PlutoColumnType.text(),\n  ),\n\n  /// Number Column definition\n  PlutoColumn(\n    title: 'number column',\n    field: 'number_field',\n    type: PlutoColumnType.number(),\n  ),\n\n  /// Select Column definition\n  PlutoColumn(\n    title: 'select column',\n    field: 'select_field',\n    type: PlutoColumnType.select(['item1', 'item2', 'item3']),\n  ),\n\n  /// Datetime Column definition\n  PlutoColumn(\n    title: 'date column',\n    field: 'date_field',\n    type: PlutoColumnType.date(),\n  ),\n\n  /// Time Column definition\n  PlutoColumn(\n    title: 'time column',\n    field: 'time_field',\n    type: PlutoColumnType.time(),\n  ),\n];\n\nList\u003cPlutoRow\u003e rows = [\n  PlutoRow(\n    cells: {\n      'text_field': PlutoCell(value: 'Text cell value1'),\n      'number_field': PlutoCell(value: 2020),\n      'select_field': PlutoCell(value: 'item1'),\n      'date_field': PlutoCell(value: '2020-08-06'),\n      'time_field': PlutoCell(value: '12:30'),\n    },\n  ),\n  PlutoRow(\n    cells: {\n      'text_field': PlutoCell(value: 'Text cell value2'),\n      'number_field': PlutoCell(value: 2021),\n      'select_field': PlutoCell(value: 'item2'),\n      'date_field': PlutoCell(value: '2020-08-07'),\n      'time_field': PlutoCell(value: '18:45'),\n    },\n  ),\n  PlutoRow(\n    cells: {\n      'text_field': PlutoCell(value: 'Text cell value3'),\n      'number_field': PlutoCell(value: 2022),\n      'select_field': PlutoCell(value: 'item3'),\n      'date_field': PlutoCell(value: '2020-08-08'),\n      'time_field': PlutoCell(value: '23:59'),\n    },\n  ),\n];\n```\n\nCreate a grid with the data created above.\n\n```dart\n  @override\nWidget build(BuildContext context) {\n  return Scaffold(\n    appBar: AppBar(\n      title: const Text('PlutoGrid Demo'),\n    ),\n    body: Container(\n      padding: const EdgeInsets.all(30),\n      child: PlutoGrid(\n          columns: columns,\n          rows: rows,\n          onChanged: (PlutoGridOnChangedEvent event) {\n            print(event);\n          },\n          onLoaded: (PlutoGridOnLoadedEvent event) {\n            print(event);\n          }\n      ),\n    ),\n  );\n}\n```\n\n\u003cbr\u003e\n\n### Flutter version compatible\n\n| Flutter          | PlutoGrid             |\n|------------------|-----------------------|\n| 3.19.0 or higher | 8.0.0 or higher       |\n| 3.10.0 or higher | 7.0.0 or higher       |\n| 3.7.0 or higher  | 6.0.0 or higher       |\n| 3.3.0 or higher  | 5.0.6 or higher       |\n| 3.0.0 or higher  | 3.0.0-0.pre or higher |\n| 2.5.0 or higher  | 2.5.0 or higher       |\n\nFor other versions, contact the issue\n\n\u003cbr\u003e\n\n### Related packages\n\n\u003e develop packages that make it easy to develop admin pages or CMS with Flutter.\n\n* [PlutoGrid](https://github.com/bosskmk/pluto_grid)\n* [PlutoMenuBar](https://github.com/bosskmk/pluto_menu_bar)\n* [PlutoLayout](https://github.com/bosskmk/pluto_layout)\n\n\u003cbr\u003e\n\n### Donate to this project\n\n[![Buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/white_img.png)](https://www.buymeacoffee.com/manki)\n\n\u003cbr\u003e\n\n### Jetbrains provides a free license\n\n[\u003cimg alt=\"IDE license support\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" width=\"170\"/\u003e](https://www.jetbrains.com/community/opensource/#support)\n","funding_links":["https://github.com/sponsors/bosskmk","https://www.buymeacoffee.com/manki"],"categories":["组件","Dart","Components"],"sub_categories":["UI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbosskmk%2Fpluto_grid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbosskmk%2Fpluto_grid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbosskmk%2Fpluto_grid/lists"}