Rlabel columnWidthtooltipnumericonSort_debugInteractive mouseCursorheadingRowAlignmentkeyonSelectChanged onLongPressonHoverselectedcellscoloremptychild placeholder showEditIcononTap onDoubleTap onTapDown onTapCancelcolumnssortColumnIndex sortAscending onSelectAll decoration dataRowColor dataRowHeightdataRowMinHeightdataRowMaxHeight dataTextStyleheadingRowColorheadingRowHeightheadingTextStylehorizontalMargin columnSpacingshowCheckboxColumnrowsdividerThicknessshowBottomBordercheckboxHorizontalMarginborder clipBehavior_onlyTextColumn_initOnlyTextColumn_headingRowKey_handleSelectAll_headingRowHeight_horizontalMargin_columnSpacing_sortArrowPadding_dividerThickness_sortArrowAnimationDuration_buildCheckbox_buildHeadingCell_buildDataCellbuildgetRectCallbackdebugCheckContextvisibleupduration createState_opacityController_opacityAnimation_orientationController_orientationAnimation_orientationOffset_up _turnTween initState_rebuild_resetOrientationAnimationdidUpdateWidgetdispose_arrowIconBaselineOffset_arrowIconSizemaxIntrinsicWidthminIntrinsicWidth createElement DataColumnSortCallback DataColumnDataRowDataCell DataTableTableRowInkWell _SortArrow_SortArrowState_NullTableColumnWidth _NullWidget�onSortvoidintboolnew immutableTextIconRowExpandedFlexibleDefaultTextStylesoftWrapmergeWidgetFixedColumnWidthIntrinsicColumnWidthTableColumnWidthStringsortColumnIndex sortAscendingWidgetStatePropertyresolve WidgetStatedisabledDataTableThemeDataheadingCellCursorWidgetStateMouseCursor clickable MouseCursorMainAxisAlignmentcenterSizedBoxstartValueKeyindexKeyLocalKeyonTap ValueChanged onDoubleTap onLongPress onTapCancel onTapDownGestureLongPressCallbackListInkWellColorselected dataRowCursoranycell_debugInteractiveDropdownButtonshrinkonSelectChangedGestureTapCallbackGestureTapDownCallbackGestureTapCancelCallbackSingleChildScrollViewPaginatedDataTableCustomScrollViewStatelessWidgetcells DeprecateddoubleClipnone isNotEmptylengthrow ValueSetter decoration Decoration dataRowColorcolor dataRowHeightkMinInteractiveDimensiondataRowMinHeightdataRowMaxHeight dataTextStyle TextTheme bodyMedium TextStyleheadingRowColorheadingRowHeightheadingTextStyle titleSmallhorizontalMargin columnSpacingCheckboxTableRowdividerThicknesscheckboxHorizontalMargin TableBordernumericcolumn UniqueKeyDuration milliseconds BuildContext VoidCallback ThemeDataThemeofcontextdataTableTheme Semantics containerchildPaddingpaddingEdgeInsetsDirectionalonlyendCentervaluechecked onChangedonCheckboxChangedtristateonRowTap overlayColor mouseCursorrowMouseCursor TableCellverticalAlignmentTableCellVerticalAlignmentfillEdgeInsetsGeometryDataTableThemelabelrole SemanticsRole columnHeader textDirection TextDirectionrtlmainAxisAlignmentheadingRowAlignmentchildrenwidth_arrowIconSizevisiblesortedup ascendingduration textTheme Containerheight alignment Alignment centerRightAlignmentDirectional centerStartAnimatedDefaultTextStylestyletooltipTooltipmessage showEditIconIconseditsize constraintsBoxConstraints minHeight maxHeightcopyWith placeholder withOpacityDropdownButtonHideUnderlineonRowLongPress onRowHoveronHoveroverridedebugCheckHasMaterial resolveWithSetstatescontains colorSchemeprimaryIterablewherefilledgenerate BorderSideDividercreateBorderSideBorderbottomtopkey BoxDecorationbordercalldataColumnIndex columnWidthflexMaterialtype MaterialType transparency borderRadius clipBehaviorTable columnWidthsasMapdefaultVerticalAlignmentmiddleRect InkResponsecontainedInkWellhighlightShapeBoxShape rectangle RectCallback RenderBox RenderObjectparentMatrix4identity RenderTableapplyPaintTransform parentDataTableCellParentDatay getRowBoxOffset MatrixUtilsgetAsTranslationshiftzerodebugCheckHasTabledebugCheckContextStatefulWidgetStateTickerProviderStateMixinAnimationControllerCurvedAnimation Animation AnimatableTweenbeginpichain CurveTweencurveCurveseaseIn initStatewidgetvsync fastOutSlowIn addListenerdriveaddStatusListenersetStateAnimationStatus isCompleteddidUpdateWidget isDismissedstopforwardreversedisposeFadeTransitionopacity Transform transform rotationZsetTranslationRaw arrow_upwardUnimplementedErrorElementStatelessWidget InkResponseStatefulWidgetStateTickerProviderStateMixinTableColumnWidthWidget£Ûò�H‘@Q×nû�Û7���math� dart:math�%package:flutter/rendering.dart�Opackage:flutter/widgets.dart�y checkbox.dart�’constants.dart�¬data_table_theme.dart�Í debug.dart�ã divider.dart�û dropdown.dart‚ icons.dart‚* ink_well.dart‚C material.dart‚\ theme.dart‚r tooltip.dartÀ„ŸÀØÃ…´=€ˆ€§€©€Ö€ù���"�$�N�v�x�‘�«�Ì�â�ú‚‚)‚B‚[‚q‚‰‚‹‚¤‚Â烃ƒ8ƒŠƒŒƒ¹ƒ¾„„F„‰„•„©„é„ÿ……0…C…^…p…‡…¦…­…¯…ʅц†Z†l†s†®†ý‡L‡—‡à‡çˆ<ˆzˆ�ˆ¹ˆÐˆÒ‰&‰-‰|‰¿‰ÆŠŠeгпŠí‹6‹†‹åŒŒFŒHŒmŒtŒ¹��$�>�@�{�‚�Æ�Ü�ó�õŽ;ŽBŽŠŽÔ��F�M�‰���Ö�ÿ��2�4���•�œ�ë�ò‘‘‘l‘½‘đՒ&’_’a’¯’Ã’Ê““o“½“ܓ㔔P”S”U”�”’”Ε•Q•V•™•À•̕ݖ–-–<–X–s–Š–�–®–Å–ß–æ–è—.—O—d—u—‘—¬—×֗ç—þ˜˜=˜?˜�˜Ç™ ™4™;™€™˜™š™Ý™äš(šbšiš±šõ›:›~›…›Êœœ3œ:œ‡œÓœð��!�K�R�¦žžRžožŸž¡ž×žÞŸAŸkŸ‘Ÿ“Ÿ·Ÿ¾  H Ž ¥ ¬ í¡¡¡%¡,¡s¡�¡ ¡¢¡À¡Ç¢¢7¢>¢‡¢Ó£!£h£—£ž£ú¤¤¤ ¤t¤¬¤ÿ¥ ¥?¥L¥n¥€¥Œ¥•¥ ¥§¥¸¥¿¦ ¦0¦x¦¥¦§¦ô§§ §[§b§„§‹§Ø¨)¨0¨A¨’¨Ë¨Í¨î©F©I©K©v©{©Ãªªª"ª4ª{ª‚ªÊªöªý«C«†«­«À«Ó«ò¬¬#¬:¬O¬f¬}¬„¬†¬Ç­­­$­+­j­q­·­ÿ®®®H®_®a®—®ž®å¯¯/¯1¯m¯t¯º¯û°°°a°†°¢°¤°É°Ð±±f±¡±Ð±ô±ö²$²+²l²»²ö³%³O³Q³|³ƒ³Æ´´P´´¯´±´Û´âµ#µsµ®µÝ¶ ¶ ¶H¶O¶˜¶Ý··G·w·y·š·²·Ð·î¸ ¸&¸)¸+¸N¸‹¸¦¸«¸ï¸ô¹¹¹`¹§¹íº$º)ºqº¼»»»-»‰»š»á»ù¼A¼F¼[¼²¼þ½K½w½|½Ó½Ø¾&¾7¾<¾A¾V¾¤¾ß¾ä¿2¿C¿H¿’¿áÀ@.À@aÀ@fÀ@uÀ@zÀ@¼ÀAÀAUÀA¤ÀAìÀB ÀBeÀB¯ÀBãÀCÀC?ÀCFÀC‹ÀCÐÀDÀD3ÀD:ÀD�ÀDÇÀE ÀEQÀEeÀElÀE°ÀEõÀEüÀF@ÀFˆÀFÐÀFáÀFèÀG0ÀGwÀGœÀG«ÀG»ÀG×ÀGòÀHÀH)ÀH?ÀHWÀHiÀH±ÀHíÀHôÀIÀI/ÀINÀIgÀI‚ÀIžÀIºÀIÖÀIïÀJÀJ8ÀJTÀJmÀJ‘ÀJ£ÀJÇÀJëÀJûÀK\ÀKgÀKwÀKÁÀL(ÀL3ÀLvÀL†ÀL¬ÀLÖÀM ÀMÀM%ÀM€ÀNÀN ÀN^ÀNœÀNÔÀNÖÀOÀO;ÀO=ÀOkÀOrÀO¸ÀOþÀP0ÀP7ÀPyÀP•ÀPœÀPâÀQÀQÀQ[ÀQzÀQ|ÀQÈÀQãÀQêÀR,ÀRpÀRÀR†ÀRÊÀS ÀSÀS#ÀSeÀS‚ÀS„ÀSËÀSïÀSöÀT=ÀT}ÀT„ÀTÉÀUÀU+ÀUUÀUWÀU�ÀUËÀUáÀUèÀV8ÀVKÀVlÀVnÀV©ÀVØÀVßÀW"ÀWmÀW¼ÀXÀXWÀXeÀXlÀX¼ÀXßÀXõÀXüÀYGÀY™ÀYåÀYýÀZÀZ?ÀZNÀZ`ÀZ»ÀZóÀ[FÀ[SÀ[†À[“À[¯À[ÅÀ[ÎÀ[ÙÀ[àÀ[ñÀ[øÀ\DÀ\iÀ\±À\ÇÀ\ûÀ\ýÀ]9À]ŠÀ] À]§À]÷À^=À^TÀ^dÀ^ªÀ^äÀ^éÀ_IÀ_KÀ_ŠÀ_ãÀ_ùÀ`À`SÀ`™À`°À`ÓÀ`ÕÀaÀamÀaƒÀaŠÀaÝÀb#Àb:Àb]Àb_Àb›ÀbÀÀbÖÀbÝÀc.ÀcVÀcyÀc{Àc¹ÀcêÀcñÀd4Àd‚ÀdÒÀe#ÀeRÀehÀeoÀe­Àe´ÀeòÀfÀfÀf/ÀfEÀf£ÀfÚÀg-Àg:ÀgmÀgzÀgƒÀgŽÀg•Àg¦Àg­ÀgùÀhÀhfÀh|Àh³ÀhµÀhôÀiÀi0Ài7Ài�ÀiÊÀiíÀiïÀj.ÀjYÀjoÀjvÀjÅÀjòÀkÀkÀkYÀk¥ÀkÕÀkÜÀl,ÀlYÀloÀlvÀlÀÀm ÀmÀmbÀm¯ÀmüÀnÀn!Àn]Àn¤ÀnºÀnÁÀoÀoQÀoqÀosÀo´ÀoýÀpÀpUÀp¦ÀpèÀpïÀq(Àq>Àq`ÀqbÀq§ÀqÄÀqËÀqéÀrÀrÀrGÀr‰Àr�Àr¾ÀrÔÀrÛÀs%Às=Às`ÀsbÀs£ÀsªÀs÷Àt(ÀtHÀtJÀt‘ÀtÓÀtéÀtðÀuBÀu“ÀuäÀv2Àv]Àv_Àv·ÀvÕÀv×ÀwÀwÀwgÀwnÀwŽÀwªÀw¬ÀwñÀx-ÀxLÀx‹Àx�ÀxÜÀy Ày+ÀyJÀybÀymÀy†Ày�Ày–ÀyªÀy¯Ày±ÀyÑÀzÀzXÀz]Àz_Àz–Àz˜ÀzÔÀ{$À{iÀ{¯À{ÏÀ{öÀ|À|-À|}À|°À|»À|ÄÀ|ËÀ|ÐÀ|ÒÀ}À}1À}3À}‡À}·À}èÀ}êÀ~9À~gÀ~iÀ~°À~àÀ~âÀÀ8À:ÀŽÀ�À«ÀÏÀìÀ€À€HÀ€�À€žÀ€ÀÀ€ÈÀ€üÀ�*À�‡À�ÂÀ�çÀ‚%À‚IÀ‚‚À‚§À‚åÀƒÀƒ1ÀƒIÀƒ`ÀƒŽÀƒÈÀƒþÀ„ À„"À„€À„ŒÀ„–À„žÀ„»À„ÞÀ„øÀ…À…CÀ…]À…gÀ…nÀ…ÊÀ…ÏÀ…ÑÀ…ïÀ†À†=À†YÀ†xÀ†”À†¸À†ÓÀ†ñÀ‡*À‡RÀ‡‡À‡�À‡ÃÀˆÀˆ&ÀˆOÀˆbÀˆžÀˆÏÀˆìÀ‰>À‰–À‰¨À‰ÔÀ‰íÀŠ ÀŠ;ÀŠqÀŠ�ÀЏÀŠÆÀŠÒÀŠÜÀŠäÀŠæÀ‹À‹4À‹`À‹–À‹ÀÀ‹îÀŒ ÀŒ7ÀŒmÀŒ‰ÀŒ¡ÀŒºÀŒäÀ�:À�bÀ�·À�ÑÀŽÀŽÀŽ"ÀŽ*ÀŽFÀŽ~ÀŽ…ÀއÀŽ�À޳ÀŽÖÀŽ÷À� À�À�'À�,À�.À�IÀ�mÀ�—À�³À�ÏÀ�ïÀ�À�9À�fÀ�•À�ÊÀ�ûÀ‘0À‘iÀ‘¡À‘ÏÀ‘÷À‘ÿÀ’3À’~À’—À’ÐÀ’÷À“ À“GÀ“qÀ“{À“‚À“„À“²À“ÌÀ“õÀ”(À”RÀ”€À”�À”ÉÀ”ÿÀ•"À•PÀ•mÀ•™À•ÏÀ•òÀ– À–#À–GÀ–vÀ–¥À–¯À—À—%À—XÀ—„À—èÀ˜#À˜-À˜5À˜OÀ˜oÀ˜�À˜­À˜ÍÀ˜åÀ˜üÀ™À™BÀ™eÀ™„À™©À™ÀÀ™ÊÀš%ÀšEÀšfÀšŒÀšªÀšÏÀšòÀ› À›À›À›?À›DÀ›FÀ›SÀ›{À›¾À›ÀÀ›ðÀœ;Àœ~ÀœâÀ�"À�}À�ØÀ�øÀžÀž5ÀžrÀž{Àž�Àž˜ÀžóÀŸCÀŸ‰ÀŸÍÀŸåÀ GÀ ¬À úÀ¡3À¡aÀ¡~À¡ªÀ¡ÜÀ¡øÀ¢3À¢XÀ¢ŒÀ¢ÆÀ¢êÀ£#À£HÀ£|À£¶À£àÀ¤ À¤%À¤NÀ¤}À¤–À¤˜À¤ÑÀ¥ À¥0À¥8À¥hÀ¥ À¥µÀ¥ýÀ¦À¦uÀ¦œÀ¦ÍÀ¦þÀ§ À§AÀ§’À§§À¨ À¨aÀ¨¢À¨¶À¨ÈÀ¨ëÀ©À©UÀ©wÀ©ƒÀ©´À©ÞÀ©øÀª Àª4ÀªNÀª‘Àª·ÀªÔÀ«À«#À«wÀ«ƒÀ«�À«•À«—À«ªÀ«¬À«ÍÀ«ïÀ¬À¬LÀ¬jÀ¬�À¬§À¬ÙÀ¬ôÀ­'À­@À­—À­´À­ÍÀ­×À­ìÀ®À®dÀ®ŸÀ®¼À®ÞÀ¯À¯%À¯fÀ¯™À¯ÖÀ¯ñÀ°SÀ°oÀ°{À°“À°œÀ°¼À°ÃÀ°ÅÀ±"À±]À±_À±�À±êÀ²À²?À²kÀ²uÀ²wÀ²—À²ËÀ²üÀ³ À³@À³IÀ³KÀ³¤À³ÍÀ´À´FÀ´™À´©À´óÀ´üÀ´þÀµZÀµ Àµ»ÀµÖÀµôÀ¶À¶8À¶_À¶„À¶¦À¶íÀ¶þÀ·À·HÀ·kÀ·œÀ·²À·ìÀ¸2À¸PÀ¸{À¸®À¸ÔÀ¸ÞÀ¸óÀ¹À¹kÀ¹¦À¹òÀºÀº,ÀºJÀºnÀº˜ÀºÄÀºâÀ» À»6À»`À»†À»¾À»ÔÀ¼À¼RÀ¼~À¼¢À¼ºÀ½À½(À½@À½IÀ½iÀ½pÀ½rÀ½‰À½èÀ¾À¾*À¾WÀ¾|À¾“À¾ÂÀ¿ À¿*À¿EÀ¿QÀ¿[À¿cÀ¿hÀ¿kÀ¿mÀ¿´À¿ùÀ¿þÀÀAÀÀƒÀÀˆÀÀÐÀÁÀÁPÀÁ˜ÀÁÚÀÂ"ÀÂcÀÂhÀÂwÀÂ|À»ÀÂýÀà ÀÃ:ÀÃfÀÃ�ÀÑÀãÀõÀÃÍÀÃåÀÄÀÄÀÄ3ÀÄRÀÄkÀăÀÄÎÀÄÐÀÄÝÀÅÀÅ(ÀÅQÀÅ{ÀŨÀÅèÀÆÀÆDÀÆ[ÀÆzÀƃÀƦÀÆïÀÇÀÇYÀÇ®ÀÇÞÀÈÀÈ\ÀÈ{ÀÈ¢ÀÈ­ÀȶÀÈÏÀÈ×ÀÈÜÀÈÞÀÈëÀÉÀÉGÀÉuÀÉzÀÉ}ÀÉÀɪÀÊÀÊÀÊÀÊÀÊ0ÀÊ2ÀÊNÀÊPÀÊ]ÀÊ”ÀÊ—ÀÊ™ÀÊêÀË ÀËQÀËSÀË�ÀËÄÀËèÀËêÀËøÀËúÀÌ9ÀÌJÀÌ]ÀÌ‹ÀÌ�ÀÌšÀ̰ÀÌÈÀÌÞÀÍÀÍiÀÍ�ÀͬÀÍèÀÎCÀΉÀΨÀÎàÀÎûÀÏ3ÀÏ:ÀÏ?ÀÏAÀÏVÀÏiÀÏ¢ÀÏ«ÀϰÀϲÀÏïÀÐÀÐEÀÐkÀÐÈÀÐÏÀÐÔÀÐÖÀÐãÀÑÀÑ:ÀÑVÀÑ�ÀѱÀÑðÀÒÀÒEÀÒ{ÀÒ–ÀÒŸÀÒ¼ÀÒãÀÒóÀÓÀÓ#ÀÓ*ÀÓSÀÓ„ÀÓ¯ÀÓ¿ÀÓêÀÓóÀÓúÀÔ ÀÔÀÔÀÔ ÀÔ4ÀÔWÀÔ~ÀÔ ÀÔ¶ÀÔ»ÀÔ½ÀÔõÀÕ#ÀÕ%ÀÕ2ÀÕZÀÕvÀÕ™ÀÕ²ÀÖ ÀÖNÀÖtÀÖºÀÖÄÀÖÌÀÖÑÀÖÔÀÖÖÀ×À×0À×2À×?À×�À׳À×µÀ×ÂÀØÀØ6ÀØ9ÀØ;ÀØ_ÀØwÀØyÀ؆ÀØÀÀØÃM/// @docImport 'paginated_data_table.dart'; /// @docImport 'text_theme.dart';���$�N�x�‘�«�Ì�â�ú‚‚)‚B‚[‚q „ñ„û………………"…4…4 …9…G…G…L…b…b …g…t…t…y…‹…‹…�…V„«„«�((Set states) { /// if (states.contains(WidgetState.selected)) { /// return Theme.of(context).colorScheme.primary.withValues(alpha: 0.08); /// } /// return null; // Use the default value. /// }), /// cells: const [ /// // ... /// ], /// ) /// ``` /// /// See also: /// /// * The Material Design specification for overlay colors and how they /// match a component's state: /// .¨½¦©‚¨½�Æ/// The cursor for a mouse pointer when it enters or is hovering over the /// data row. /// /// [WidgetStateProperty.resolve] is used for the following [WidgetState]s: /// /// * [WidgetState.selected]. /// /// If this is null, then the value of [DataTableThemeData.dataRowCursor] /// is used. If that's null, then [WidgetStateMouseCursor.clickable] is used. /// /// See also: /// * [WidgetStateMouseCursor], which can be used to create a [MouseCursor].¨Ï¨Ïu¨Ø•À•Á”U”U”ò•Ò�b/// Row configuration and cell data for a [DataTable]. /// /// One row configuration must be provided for each row to /// display in the table. The list of [DataRow] objects is passed /// as the `rows` argument to the [DataTable.new] constructor. /// /// The data for this row of the table is provided in the [cells] /// property of the [DataRow] object.«µ«½«Ä«Ä «É«×«×«Ü«ö«ö«û¬¬ ¬¬'¬'¬,¬>¬>¬C¬S¬S¬X¬j¬j¬o«ê¬ ª6ª6‚L�`/// Creates an object to hold the data for a cell in a [DataTable]. /// /// The first argument is the widget to show for the cell, typically /// a [Text] or [DropdownButton] widget. /// /// If the cell has no data, then a [Text] widget with placeholder /// text should be provided instead, and then the [placeholder] /// argument should be set to true. ¬ç¬ï­¬ð¬ø¬ù¬ÿ­¬ß¬ˆz¬ß=/// A cell that has no content and has zero width and height.®W­ �S®W�%/// The data for the row. /// /// Typically a [Text] widget or a [DropdownButton] widget. /// /// If the cell has no data, then a [Text] widget with placeholder /// text should be provided instead, and [placeholder] should be set /// to true. /// /// {@macro flutter.widgets.ProxyWidget.child}¯!®c€É¯!€¦/// Whether the [child] is actually a placeholder. /// /// If this is true, the default text style for the cell is changed /// to be appropriate for placeholder text.°“¯3�l°“�/// The configuration and labels for the columns in the table.ÀQhÀO?‚8ÀQh�ö/// The current primary sort key's column. /// /// If non-null, indicates that the indicated column is the column /// by which the data is sorted. The number must correspond to the /// index of the relevant column in [columns]. /// /// Setting this will cause the relevant column to have a sort /// indicator displayed. /// /// When this is null, it implies that the table's sort order does /// not correspond to any of the columns. /// /// The direction of the sort is specified using [sortAscending].ÀSrÀQ~‚ÀSr�Ä/// Whether the column mentioned in [sortColumnIndex], if any, is sorted /// in ascending order. /// /// If true, the order is ascending (meaning the rows with the /// smallest values for the current sort column are first in the /// table). /// /// If false, the order is descending (meaning the rows with the /// smallest values for the current sort column are last in the /// table). /// /// Ascending order is represented by an upwards-facing arrow.ÀUGÀS†�ÌÀUG�‹/// Invoked when the user selects or unselects every row, using the /// checkbox in the heading row. /// /// If this is null, then the [DataRow.onSelectChanged] callback of /// every row in the table is invoked appropriately instead. /// /// To control whether a particular row is selectable or not, see /// [DataRow.onSelectChanged]. This callback is only relevant if any /// row is selectable.ÀV_ÀUY�ÀV_€á/// {@template flutter.material.dataTable.decoration} /// The background and border decoration for the table. /// {@endtemplate} /// /// If null, [DataTableThemeData.decoration] is used. By default there is no /// decoration.À\ìÀVp†ˆÀ\ì…ã/// {@template flutter.material.dataTable.dataRowColor} /// The background color for the data rows. /// /// The effective background color can be made to depend on the /// [WidgetState] state, i.e. if the row is selected, pressed, hovered, /// focused, disabled or enabled. The color is painted as an overlay to the /// row. To make sure that the row's [InkWell] is visible (when pressed, /// hovered and focused), it is recommended to use a translucent background /// color. /// /// If [DataRow.onSelectChanged] or [DataRow.onLongPress] is null, the row's /// [InkWell] will be disabled. /// {@endtemplate} /// /// If null, [DataTableThemeData.dataRowColor] is used. By default, the /// background color is transparent unless selected. Selected rows have a grey /// translucent color. To set a different color for individual rows, see /// [DataRow.color]. /// /// {@template flutter.material.DataTable.dataRowColor} /// ```dart /// DataTable( /// dataRowColor: WidgetStateProperty.resolveWith((Set states) { /// if (states.contains(WidgetState.selected)) { /// return Theme.of(context).colorScheme.primary.withValues(alpha: 0.08); /// } /// return null; // Use the default value. /// }), /// columns: _columns, /// rows: _rows, /// ) /// ``` /// /// See also: /// /// * The Material Design specification for overlay colors and how they /// match a component's state: /// . /// {@endtemplate}À`ÀÀ_M�ƒÀ`À�O/// {@template flutter.material.dataTable.dataRowMinHeight} /// The minimum height of each row (excluding the row that contains column headings). /// {@endtemplate} /// /// If null, [DataTableThemeData.dataRowMinHeight] is used. This value defaults /// to [kMinInteractiveDimension] to adhere to the Material Design /// specifications.ÀbJÀ`×�ƒÀbJ�O/// {@template flutter.material.dataTable.dataRowMaxHeight} /// The maximum height of each row (excluding the row that contains column headings). /// {@endtemplate} /// /// If null, [DataTableThemeData.dataRowMaxHeight] is used. This value defaults /// to [kMinInteractiveDimension] to adhere to the Material Design /// specifications.ÀciÀba�Àci€ä/// {@template flutter.material.dataTable.dataTextStyle} /// The text style for data rows. /// {@endtemplate} /// /// If null, [DataTableThemeData.dataTextStyle] is used. By default, the text /// style is [TextTheme.bodyMedium].Àh¡Àc}…3Àh¡„ /// {@template flutter.material.dataTable.headingRowColor} /// The background color for the heading row. /// /// The effective background color can be made to depend on the /// [WidgetState] state, i.e. if the row is pressed, hovered, focused when /// sorted. The color is painted as an overlay to the row. To make sure that /// the row's [InkWell] is visible (when pressed, hovered and focused), it is /// recommended to use a translucent color. /// {@endtemplate} /// /// If null, [DataTableThemeData.headingRowColor] is used. /// /// {@template flutter.material.DataTable.headingRowColor} /// ```dart /// DataTable( /// columns: _columns, /// rows: _rows, /// headingRowColor: WidgetStateProperty.resolveWith((Set states) { /// if (states.contains(WidgetState.hovered)) { /// return Theme.of(context).colorScheme.primary.withValues(alpha: 0.08); /// } /// return null; // Use the default value. /// }), /// ) /// ``` /// /// See also: /// /// * The Material Design specification for overlay colors and how they /// match a component's state: /// . /// {@endtemplate}ÀiÚÀh·�3ÀiÚ�/// {@template flutter.material.dataTable.headingRowHeight} /// The height of the heading row. /// {@endtemplate} /// /// If null, [DataTableThemeData.headingRowHeight] is used. This value /// defaults to 56.0 to adhere to the Material Design specifications.ÀkÀiñ�$Àk€ð/// {@template flutter.material.dataTable.headingTextStyle} /// The text style for the heading row. /// {@endtemplate} /// /// If null, [DataTableThemeData.headingTextStyle] is used. By default, the /// text style is [TextTheme.titleSmall].Àn ÀkƒÀn ‚·/// {@template flutter.material.dataTable.horizontalMargin} /// The horizontal margin between the edges of the table and the content /// in the first and last cells of each row. /// /// When a checkbox is displayed, it is also the margin between the checkbox /// the content in the first data column. /// {@endtemplate} /// /// If null, [DataTableThemeData.horizontalMargin] is used. This value /// defaults to 24.0 to adhere to the Material Design specifications. /// /// If [checkboxHorizontalMargin] is null, then [horizontalMargin] is also the /// margin between the edge of the table and the checkbox, as well as the /// margin between the checkbox and the content in the first data column.ÀoaÀn#�KÀoa�/// {@template flutter.material.dataTable.columnSpacing} /// The horizontal margin between the contents of each data column. /// {@endtemplate} /// /// If null, [DataTableThemeData.columnSpacing] is used. This value defaults /// to 56.0 to adhere to the Material Design specifications.ÀqKÀou�èÀqK�¯/// {@template flutter.material.dataTable.showCheckboxColumn} /// Whether the widget should display checkboxes for selectable rows. /// /// If true, a [Checkbox] will be placed at the beginning of each row that is /// selectable. However, if [DataRow.onSelectChanged] is not set for any row, /// checkboxes will not be placed, even if this value is true. /// /// If false, all rows will not display a [Checkbox]. /// {@endtemplate}ÀqÿÀqd€ŸÀqÿz/// The data to show in each row (excluding the row that contains /// the column headings). /// /// The list may be empty.ÀsMÀr �SÀsM�/// {@template flutter.material.dataTable.dividerThickness} /// The width of the divider that appears between [TableRow]s. /// /// Must be greater than or equal to zero. /// {@endtemplate} /// /// If null, [DataTableThemeData.dividerThickness] is used. This value /// defaults to 1.0.Àt5Àsd€áÀt5€¹/// Whether a border at the bottom of the table is displayed. /// /// By default, a border is not shown at the bottom to allow for a border /// around the table defined by [decoration].ÀvBÀtL‚ÀvB�Ï/// {@template flutter.material.dataTable.checkboxHorizontalMargin} /// Horizontal margin around the checkbox, if it is displayed. /// {@endtemplate} /// /// If null, [DataTableThemeData.checkboxHorizontalMargin] is used. If that is /// also null, then [horizontalMargin] is used as the margin between the edge /// of the table and the checkbox, as well as the margin between the checkbox /// and the content in the first data column. This value defaults to 24.0.ÀvÌÀvaqÀvÌT/// The style to use when painting the boundary and interior divisions of the table.Àw›ÀvÙ€ÎÀw›€§/// {@macro flutter.material.Material.clipBehavior} /// /// This can be used to clip the content within the border of the [DataTable]. /// /// Defaults to [Clip.none].Àx:Àx/Àx:ÀzˆÀz‘Àz’ÀzwÀza2ÀzwÀ}*À}À|ÔZÀ}*/// The default height of the heading row.À}áÀ}ÍÀ}5€°À}Í}/// The default horizontal margin between the edges of the table and the content /// in the first and last cells of each row.À~`À~OÀ}ìxÀ~OK/// The default horizontal margin between the contents of each data column.À~ÚÀ~ÆÀ~krÀ~ÆC/// The default padding between the heading content and sort arrow.À2ÀÀ~äQÀ"/// The default divider thickness.ÀpÀxÀŠÀ…ÀyÀ‡ÀRÀÀBéŠ|/// A data table that follows the /// [Material 2](https://material.io/go/design-data-tables) /// design specification. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=ktTajqbhIcY} /// /// ## Performance considerations /// /// Columns are sized automatically based on the table's contents. /// It's expensive to display large amounts of data with this widget, /// since it must be measured twice: once to negotiate each column's /// dimensions, and again when the table is laid out. /// /// A [SingleChildScrollView] mounts and paints the entire child, even /// when only some of it is visible. For a table that effectively handles /// large amounts of data, here are some other options to consider: /// /// * `TableView`, a widget from the /// [two_dimensional_scrollables](https://pub.dev/packages/two_dimensional_scrollables) /// package. /// * [PaginatedDataTable], which automatically splits the data into /// multiple pages. /// * [CustomScrollView], for greater control over scrolling effects. /// /// {@tool dartpad} /// This sample shows how to display a [DataTable] with three columns: name, age, and /// role. The columns are defined by three [DataColumn] objects. The table /// contains three rows of data for three example users, the data for which /// is defined by three [DataRow] objects. /// /// ![](https://flutter.github.io/assets-for-api-docs/assets/material/data_table.png) /// /// ** See code in examples/api/lib/material/data_table/data_table.0.dart ** /// {@end-tool} /// /// /// {@tool dartpad} /// This sample shows how to display a [DataTable] with alternate colors per /// row, and a custom color for when the row is selected. /// /// ** See code in examples/api/lib/material/data_table/data_table.1.dart ** /// {@end-tool} /// /// [DataTable] can be sorted on the basis of any column in [columns] in /// ascending or descending order. If [sortColumnIndex] is non-null, then the /// table will be sorted by the values in the specified column. The boolean /// [sortAscending] flag controls the sort order. /// /// See also: /// /// * [DataColumn], which describes a column in the data table. /// * [DataRow], which contains the data for a row in the data table. /// * [DataCell], which contains the data for a single cell in the data table. /// * [PaginatedDataTable], which shows part of the data in a data table and /// provides controls for paging through the remainder of the data. /// * `TableView` from the /// [two_dimensional_scrollables](https://pub.dev/packages/two_dimensional_scrollables) /// package, for displaying large amounts of data without pagination. /// * ÀÃnÀÃ} ÀÃ…ÀÃ… ÀËÀÕÀÕ ÀÛÀçÀç ÀíÀùÀùÀÿÀÃÑÀÃÑÀÃ×ÀÃéÀÃéÀÃïÀÄÀÄ ÀÄÀÄÀÄÀÄ"ÀÄ7ÀÄ7ÀÄ=ÀÄVÀÄVÀÄ\ÀÄoÀÄoÀÄu ÀÄŠÀÄ�ÀÄÊÀÄ ÀÄ�ÀÄ¢ÀĶÀĨÀĸÀÄÀÀÄÁÀÃ<ÀÃ<��(/// Creates an ink well for a table row.ÀÄüÀÄüÀÅÀÄÒÀÄÓÀÄÒÀÄÒ„ÀÄìÀÉÀÉÀÉÀÈàÀÈáÀÈàÀÈà€˜ÀÈòÀ¿mÀ¿mŠÀÃŒ/// A rectangular area of a Material that responds to touch but clips /// its ink splashes to the current table row of the nearest table. /// /// Must have an ancestor [Material] widget in which to cause ink /// reactions and an ancestor [Table] widget to establish a row. /// /// The [TableRowInkWell] must be in the same coordinate space (modulo /// translations) as the [Table]. If it's rotated or scaled or /// otherwise transformed, it will not be able to describe the /// rectangle of the row in its own coordinate system as a [Rect], and /// thus the splash will not occur. (In general, this is easy to /// achieve: just put the [TableRowInkWell] as the direct child of the /// [Table], and put the other contents of the cell inside it.) /// /// See also: /// /// * [DataTable], which makes use of [TableRowInkWell] when /// [DataRow.onSelectChanged] is defined and [DataCell.onTap] /// is not.ÀɲÀɼÀɾÀɾÀÉÌÀÉÕÀÉÕÀÉãÀÉçÀÉçÀÉõÀɬÀɬTÀÊÀÊÀÊÀÊ+ÀÊÀÊ+ÀÊCÀÊ4ÀÊCÀÊRÀÊSÀÊRÀÊR@ÀÊoÀÉÀÉ�ÀÉ… ÀË ÀÊì1ÀË ÀË=ÀË",ÀË=ÀËtÀËU5ÀËtÀˬÀË�2ÀˬÀËâÀËÍÀËÆÀËÍÀËòÀËì ÀËòÀÌ)ÀÌ.ÀÌ5ÀÌ/ÀÌ6ÀÌ_ÀÌBÀÌ=ÀÌDÀÌQÀÌNÀÌSÀÌWÀÌXÀÌ`ÀÌaÀÌfÀ̇ÀÌgÀÌqÀ̆ÀÌwÀÌrÀÌyÀÌÀÌ€ÀÌÀËü€ŒÀÌÀÔîÀÔïÀÔÓÀÔ¿3ÀÔÓÀÕÀÕ ÀÔ÷)ÀÕ ÀÌ�ÀÌ�ÀÌ�ÀÌ�‚®ÀÌ¡ÀÏCÀÏCkÀÏHÀÏÔÀÏÔÀÏäÀÏ´ÀÏ´�ÀϹÀÐúÀÐúÀÑÀÐØÀÐÙÀÐØÀÐØƒ7ÀÐêÀÔÀÔÀÔÀÔ€¤ÀÔ'ÀÕAÀÕAÀÕNÀÕ'ÀÕ(ÀÕ'ÀÕ'�¨ÀÕ;ÀÊ™ÀÊ™Œ9ÀÊŸÀ×À×+À×À×À×ZÀ×ZÀ×nÀ×uÀ×uÀ×|À×4À×5À×4À×4}À×HÀ×ÝÀ×ÝÀ×ñÀ×øÀ×øÀ×ÿÀ×·À׸À×·À×·}À×ËÀÖÖÀÖÖ�aÀÖÜÀØgÀØrÀØaÀØaÀØ{ÀØ|ÀØ{ÀØ{CÀØ�ÀØ;ÀØ;€†ÀØAƒƒ€�ƒ@//// Signature for [DataColumn.onSort] callback.€²paginated_data_table.dart€ßtext_theme.dart…´=€ˆ€§€©€Ö€ù���"�$�N�v�x�‘�«�Ì�â�ú‚‚)‚B‚[‚q‚‰‚‹‚¤‚Â烃ƒ8ƒŠƒŒƒ¹ƒ¾„„F„‰„•„©„é„ÿ……0…C…^…p…‡…¦…­…¯…ʅц†Z†l†s†®†ý‡L‡—‡à‡çˆ<ˆzˆ�ˆ¹ˆÐˆÒ‰&‰-‰|‰¿‰ÆŠŠeгпŠí‹6‹†‹åŒŒFŒHŒmŒtŒ¹��$�>�@�{�‚�Æ�Ü�ó�õŽ;ŽBŽŠŽÔ��F�M�‰���Ö�ÿ��2�4���•�œ�ë�ò‘‘‘l‘½‘đՒ&’_’a’¯’Ã’Ê““o“½“ܓ㔔P”S”U”�”’”Ε•Q•V•™•À•̕ݖ–-–<–X–s–Š–�–®–Å–ß–æ–è—.—O—d—u—‘—¬—×֗ç—þ˜˜=˜?˜�˜Ç™ ™4™;™€™˜™š™Ý™äš(šbšiš±šõ›:›~›…›Êœœ3œ:œ‡œÓœð��!�K�R�¦žžRžožŸž¡ž×žÞŸAŸkŸ‘Ÿ“Ÿ·Ÿ¾  H Ž ¥ ¬ í¡¡¡%¡,¡s¡�¡ ¡¢¡À¡Ç¢¢7¢>¢‡¢Ó£!£h£—£ž£ú¤¤¤ ¤t¤¬¤ÿ¥ ¥?¥L¥n¥€¥Œ¥•¥ ¥§¥¸¥¿¦ ¦0¦x¦¥¦§¦ô§§ §[§b§„§‹§Ø¨)¨0¨A¨’¨Ë¨Í¨î©F©I©K©v©{©Ãªªª"ª4ª{ª‚ªÊªöªý«C«†«­«À«Ó«ò¬¬#¬:¬O¬f¬}¬„¬†¬Ç­­­$­+­j­q­·­ÿ®®®H®_®a®—®ž®å¯¯/¯1¯m¯t¯º¯û°°°a°†°¢°¤°É°Ð±±f±¡±Ð±ô±ö²$²+²l²»²ö³%³O³Q³|³ƒ³Æ´´P´´¯´±´Û´âµ#µsµ®µÝ¶ ¶ ¶H¶O¶˜¶Ý··G·w·y·š·²·Ð·î¸ ¸&¸)¸+¸N¸‹¸¦¸«¸ï¸ô¹¹¹`¹§¹íº$º)ºqº¼»»»-»‰»š»á»ù¼A¼F¼[¼²¼þ½K½w½|½Ó½Ø¾&¾7¾<¾A¾V¾¤¾ß¾ä¿2¿C¿H¿’¿áÀ@.À@aÀ@fÀ@uÀ@zÀ@¼ÀAÀAUÀA¤ÀAìÀB ÀBeÀB¯ÀBãÀCÀC?ÀCFÀC‹ÀCÐÀDÀD3ÀD:ÀD�ÀDÇÀE ÀEQÀEeÀElÀE°ÀEõÀEüÀF@ÀFˆÀFÐÀFáÀFèÀG0ÀGwÀGœÀG«ÀG»ÀG×ÀGòÀHÀH)ÀH?ÀHWÀHiÀH±ÀHíÀHôÀIÀI/ÀINÀIgÀI‚ÀIžÀIºÀIÖÀIïÀJÀJ8ÀJTÀJmÀJ‘ÀJ£ÀJÇÀJëÀJûÀK\ÀKgÀKwÀKÁÀL(ÀL3ÀLvÀL†ÀL¬ÀLÖÀM ÀMÀM%ÀM€ÀNÀN ÀN^ÀNœÀNÔÀNÖÀOÀO;ÀO=ÀOkÀOrÀO¸ÀOþÀP0ÀP7ÀPyÀP•ÀPœÀPâÀQÀQÀQ[ÀQzÀQ|ÀQÈÀQãÀQêÀR,ÀRpÀRÀR†ÀRÊÀS ÀSÀS#ÀSeÀS‚ÀS„ÀSËÀSïÀSöÀT=ÀT}ÀT„ÀTÉÀUÀU+ÀUUÀUWÀU�ÀUËÀUáÀUèÀV8ÀVKÀVlÀVnÀV©ÀVØÀVßÀW"ÀWmÀW¼ÀXÀXWÀXeÀXlÀX¼ÀXßÀXõÀXüÀYGÀY™ÀYåÀYýÀZÀZ?ÀZNÀZ`ÀZ»ÀZóÀ[FÀ[SÀ[†À[“À[¯À[ÅÀ[ÎÀ[ÙÀ[àÀ[ñÀ[øÀ\DÀ\iÀ\±À\ÇÀ\ûÀ\ýÀ]9À]ŠÀ] À]§À]÷À^=À^TÀ^dÀ^ªÀ^äÀ^éÀ_IÀ_KÀ_ŠÀ_ãÀ_ùÀ`À`SÀ`™À`°À`ÓÀ`ÕÀaÀamÀaƒÀaŠÀaÝÀb#Àb:Àb]Àb_Àb›ÀbÀÀbÖÀbÝÀc.ÀcVÀcyÀc{Àc¹ÀcêÀcñÀd4Àd‚ÀdÒÀe#ÀeRÀehÀeoÀe­Àe´ÀeòÀfÀfÀf/ÀfEÀf£ÀfÚÀg-Àg:ÀgmÀgzÀgƒÀgŽÀg•Àg¦Àg­ÀgùÀhÀhfÀh|Àh³ÀhµÀhôÀiÀi0Ài7Ài�ÀiÊÀiíÀiïÀj.ÀjYÀjoÀjvÀjÅÀjòÀkÀkÀkYÀk¥ÀkÕÀkÜÀl,ÀlYÀloÀlvÀlÀÀm ÀmÀmbÀm¯ÀmüÀnÀn!Àn]Àn¤ÀnºÀnÁÀoÀoQÀoqÀosÀo´ÀoýÀpÀpUÀp¦ÀpèÀpïÀq(Àq>Àq`ÀqbÀq§ÀqÄÀqËÀqéÀrÀrÀrGÀr‰Àr�Àr¾ÀrÔÀrÛÀs%Às=Às`ÀsbÀs£ÀsªÀs÷Àt(ÀtHÀtJÀt‘ÀtÓÀtéÀtðÀuBÀu“ÀuäÀv2Àv]Àv_Àv·ÀvÕÀv×ÀwÀwÀwgÀwnÀwŽÀwªÀw¬ÀwñÀx-ÀxLÀx‹Àx�ÀxÜÀy Ày+ÀyJÀybÀymÀy†Ày�Ày–ÀyªÀy¯Ày±ÀyÑÀzÀzXÀz]Àz_Àz–Àz˜ÀzÔÀ{$À{iÀ{¯À{ÏÀ{öÀ|À|-À|}À|°À|»À|ÄÀ|ËÀ|ÐÀ|ÒÀ}À}1À}3À}‡À}·À}èÀ}êÀ~9À~gÀ~iÀ~°À~àÀ~âÀÀ8À:ÀŽÀ�À«ÀÏÀìÀ€À€HÀ€�À€žÀ€ÀÀ€ÈÀ€üÀ�*À�‡À�ÂÀ�çÀ‚%À‚IÀ‚‚À‚§À‚åÀƒÀƒ1ÀƒIÀƒ`ÀƒŽÀƒÈÀƒþÀ„ À„"À„€À„ŒÀ„–À„žÀ„»À„ÞÀ„øÀ…À…CÀ…]À…gÀ…nÀ…ÊÀ…ÏÀ…ÑÀ…ïÀ†À†=À†YÀ†xÀ†”À†¸À†ÓÀ†ñÀ‡*À‡RÀ‡‡À‡�À‡ÃÀˆÀˆ&ÀˆOÀˆbÀˆžÀˆÏÀˆìÀ‰>À‰–À‰¨À‰ÔÀ‰íÀŠ ÀŠ;ÀŠqÀŠ�ÀЏÀŠÆÀŠÒÀŠÜÀŠäÀŠæÀ‹À‹4À‹`À‹–À‹ÀÀ‹îÀŒ ÀŒ7ÀŒmÀŒ‰ÀŒ¡ÀŒºÀŒäÀ�:À�bÀ�·À�ÑÀŽÀŽÀŽ"ÀŽ*ÀŽFÀŽ~ÀŽ…ÀއÀŽ�À޳ÀŽÖÀŽ÷À� À�À�'À�,À�.À�IÀ�mÀ�—À�³À�ÏÀ�ïÀ�À�9À�fÀ�•À�ÊÀ�ûÀ‘0À‘iÀ‘¡À‘ÏÀ‘÷À‘ÿÀ’3À’~À’—À’ÐÀ’÷À“ À“GÀ“qÀ“{À“‚À“„À“²À“ÌÀ“õÀ”(À”RÀ”€À”�À”ÉÀ”ÿÀ•"À•PÀ•mÀ•™À•ÏÀ•òÀ– À–#À–GÀ–vÀ–¥À–¯À—À—%À—XÀ—„À—èÀ˜#À˜-À˜5À˜OÀ˜oÀ˜�À˜­À˜ÍÀ˜åÀ˜üÀ™À™BÀ™eÀ™„À™©À™ÀÀ™ÊÀš%ÀšEÀšfÀšŒÀšªÀšÏÀšòÀ› À›À›À›?À›DÀ›FÀ›SÀ›{À›¾À›ÀÀ›ðÀœ;Àœ~ÀœâÀ�"À�}À�ØÀ�øÀžÀž5ÀžrÀž{Àž�Àž˜ÀžóÀŸCÀŸ‰ÀŸÍÀŸåÀ GÀ ¬À úÀ¡3À¡aÀ¡~À¡ªÀ¡ÜÀ¡øÀ¢3À¢XÀ¢ŒÀ¢ÆÀ¢êÀ£#À£HÀ£|À£¶À£àÀ¤ À¤%À¤NÀ¤}À¤–À¤˜À¤ÑÀ¥ À¥0À¥8À¥hÀ¥ À¥µÀ¥ýÀ¦À¦uÀ¦œÀ¦ÍÀ¦þÀ§ À§AÀ§’À§§À¨ À¨aÀ¨¢À¨¶À¨ÈÀ¨ëÀ©À©UÀ©wÀ©ƒÀ©´À©ÞÀ©øÀª Àª4ÀªNÀª‘Àª·ÀªÔÀ«À«#À«wÀ«ƒÀ«�À«•À«—À«ªÀ«¬À«ÍÀ«ïÀ¬À¬LÀ¬jÀ¬�À¬§À¬ÙÀ¬ôÀ­'À­@À­—À­´À­ÍÀ­×À­ìÀ®À®dÀ®ŸÀ®¼À®ÞÀ¯À¯%À¯fÀ¯™À¯ÖÀ¯ñÀ°SÀ°oÀ°{À°“À°œÀ°¼À°ÃÀ°ÅÀ±"À±]À±_À±�À±êÀ²À²?À²kÀ²uÀ²wÀ²—À²ËÀ²üÀ³ À³@À³IÀ³KÀ³¤À³ÍÀ´À´FÀ´™À´©À´óÀ´üÀ´þÀµZÀµ Àµ»ÀµÖÀµôÀ¶À¶8À¶_À¶„À¶¦À¶íÀ¶þÀ·À·HÀ·kÀ·œÀ·²À·ìÀ¸2À¸PÀ¸{À¸®À¸ÔÀ¸ÞÀ¸óÀ¹À¹kÀ¹¦À¹òÀºÀº,ÀºJÀºnÀº˜ÀºÄÀºâÀ» À»6À»`À»†À»¾À»ÔÀ¼À¼RÀ¼~À¼¢À¼ºÀ½À½(À½@À½IÀ½iÀ½pÀ½rÀ½‰À½èÀ¾À¾*À¾WÀ¾|À¾“À¾ÂÀ¿ À¿*À¿EÀ¿QÀ¿[À¿cÀ¿hÀ¿kÀ¿mÀ¿´À¿ùÀ¿þÀÀAÀÀƒÀÀˆÀÀÐÀÁÀÁPÀÁ˜ÀÁÚÀÂ"ÀÂcÀÂhÀÂwÀÂ|À»ÀÂýÀà ÀÃ:ÀÃfÀÃ�ÀÑÀãÀõÀÃÍÀÃåÀÄÀÄÀÄ3ÀÄRÀÄkÀăÀÄÎÀÄÐÀÄÝÀÅÀÅ(ÀÅQÀÅ{ÀŨÀÅèÀÆÀÆDÀÆ[ÀÆzÀƃÀƦÀÆïÀÇÀÇYÀÇ®ÀÇÞÀÈÀÈ\ÀÈ{ÀÈ¢ÀÈ­ÀȶÀÈÏÀÈ×ÀÈÜÀÈÞÀÈëÀÉÀÉGÀÉuÀÉzÀÉ}ÀÉÀɪÀÊÀÊÀÊÀÊÀÊ0ÀÊ2ÀÊNÀÊPÀÊ]ÀÊ”ÀÊ—ÀÊ™ÀÊêÀË ÀËQÀËSÀË�ÀËÄÀËèÀËêÀËøÀËúÀÌ9ÀÌJÀÌ]ÀÌ‹ÀÌ�ÀÌšÀ̰ÀÌÈÀÌÞÀÍÀÍiÀÍ�ÀͬÀÍèÀÎCÀΉÀΨÀÎàÀÎûÀÏ3ÀÏ:ÀÏ?ÀÏAÀÏVÀÏiÀÏ¢ÀÏ«ÀϰÀϲÀÏïÀÐÀÐEÀÐkÀÐÈÀÐÏÀÐÔÀÐÖÀÐãÀÑÀÑ:ÀÑVÀÑ�ÀѱÀÑðÀÒÀÒEÀÒ{ÀÒ–ÀÒŸÀÒ¼ÀÒãÀÒóÀÓÀÓ#ÀÓ*ÀÓSÀÓ„ÀÓ¯ÀÓ¿ÀÓêÀÓóÀÓúÀÔ ÀÔÀÔÀÔ ÀÔ4ÀÔWÀÔ~ÀÔ ÀÔ¶ÀÔ»ÀÔ½ÀÔõÀÕ#ÀÕ%ÀÕ2ÀÕZÀÕvÀÕ™ÀÕ²ÀÖ ÀÖNÀÖtÀÖºÀÖÄÀÖÌÀÖÑÀÖÔÀÖÖÀ×À×0À×2À×?À×�À׳À×µÀ×ÂÀØÀØ6ÀØ9ÀØ;ÀØ_ÀØwÀØyÀ؆ÀØÀÀØÃ DataColumnDataRowDataCell DataTableTableRowInkWell _SortArrow_SortArrowState_NullTableColumnWidth _NullWidget%flutter.material.dataTable.decoration3The background and border decoration for the table.'flutter.material.dataTable.dataRowColor�êThe background color for the data rows. The effective background color can be made to depend on the [WidgetState] state, i.e. if the row is selected, pressed, hovered, focused, disabled or enabled. The color is painted as an overlay to the row. To make sure that the row's [InkWell] is visible (when pressed, hovered and focused), it is recommended to use a translucent background color. If [DataRow.onSelectChanged] or [DataRow.onLongPress] is null, the row's [InkWell] will be disabled.'flutter.material.DataTable.dataRowColor�õ```dart DataTable( dataRowColor: WidgetStateProperty.resolveWith((Set states) { if (states.contains(WidgetState.selected)) { return Theme.of(context).colorScheme.primary.withValues(alpha: 0.08); } return null; // Use the default value. }), columns: _columns, rows: _rows, ) ``` See also: * The Material Design specification for overlay colors and how they match a component's state: .(flutter.material.dataTable.dataRowHeightIThe height of each row (excluding the row that contains column headings).+flutter.material.dataTable.dataRowMinHeightQThe minimum height of each row (excluding the row that contains column headings).+flutter.material.dataTable.dataRowMaxHeightQThe maximum height of each row (excluding the row that contains column headings).(flutter.material.dataTable.dataTextStyleThe text style for data rows.*flutter.material.dataTable.headingRowColor�hThe background color for the heading row. The effective background color can be made to depend on the [WidgetState] state, i.e. if the row is pressed, hovered, focused when sorted. The color is painted as an overlay to the row. To make sure that the row's [InkWell] is visible (when pressed, hovered and focused), it is recommended to use a translucent color.*flutter.material.DataTable.headingRowColor�÷```dart DataTable( columns: _columns, rows: _rows, headingRowColor: WidgetStateProperty.resolveWith((Set states) { if (states.contains(WidgetState.hovered)) { return Theme.of(context).colorScheme.primary.withValues(alpha: 0.08); } return null; // Use the default value. }), ) ``` See also: * The Material Design specification for overlay colors and how they match a component's state: .+flutter.material.dataTable.headingRowHeightThe height of the heading row.+flutter.material.dataTable.headingTextStyle#The text style for the heading row.+flutter.material.dataTable.horizontalMargin€ÝThe horizontal margin between the edges of the table and the content in the first and last cells of each row. When a checkbox is displayed, it is also the margin between the checkbox the content in the first data column.(flutter.material.dataTable.columnSpacing?The horizontal margin between the contents of each data column.-flutter.material.dataTable.showCheckboxColumn�DWhether the widget should display checkboxes for selectable rows. If true, a [Checkbox] will be placed at the beginning of each row that is selectable. However, if [DataRow.onSelectChanged] is not set for any row, checkboxes will not be placed, even if this value is true. If false, all rows will not display a [Checkbox].+flutter.material.dataTable.dividerThicknessbThe width of the divider that appears between [TableRow]s. Must be greater than or equal to zero.3flutter.material.dataTable.checkboxHorizontalMargin:Horizontal margin around the checkbox, if it is displayed.û