امپورٹ

import-grid.tsx
import { NuiGrid, type NuiGridColumn, type NuiGridHandle } from '@needless-ui/react/grid';

NuiGrid

نیٹو ٹیبل پر بنا ایک ڈیٹا گرڈ۔

NuiGrid: پراپرٹیز
نامٹائپڈیفالٹتفصیل
rowsپراپreadonly T[]ڈیٹا۔ ترمیم اپنی قطار کو نئی قطار سے بدل دیتی ہے اور onRowsChange کو کال کرتی ہے؛ آپ اگلی بار جو rows پاس کریں، وہ ترامیم کی جگہ لے لیتی ہیں۔
onRowsChangeکال بیک(rows: readonly T[]) => voidہر مکمل ترمیم کے بعد قطاروں کے ساتھ کال ہوتا ہے۔
columnsپراپNuiGridColumn<T>[]کالم، NuiGridColumn آبجیکٹس کی صورت میں۔
rowIdپراپ(row: T) => unknownrow.id ?? rowقطار کی کلید، انتخاب اور ٹریکنگ کے لیے۔
labelپراپstringگرڈ کا قابلِ رسائی نام۔
selectionپراپ'none' | 'single' | 'multiple''none'قطاریں منتخب ہو سکتی ہیں یا نہیں، اور کتنی۔
selected
defaultSelected
onSelectedChangeاسٹیٹ
unknown[][]منتخب قطاروں کی کلیدیں۔
sort
defaultSort
onSortChangeاسٹیٹ
NuiGridSort[][]سارٹ، { column, direction } آبجیکٹس کی صورت میں؛ پہلے والا پہلے لاگو ہوتا ہے۔
filters
defaultFilters
onFiltersChangeاسٹیٹ
Record<string, NuiGridFilter>{}ہر کالم id کے لیے ایک فلٹر: ایک آپریٹر اور ایک ویلیو۔
search
defaultSearch
onSearchChangeاسٹیٹ
string''الفاظ، جن میں سے ہر ایک کا قطار میں ہونا لازمی ہے۔
pageSize
defaultPageSize
onPageSizeChangeاسٹیٹ
number0فی صفحہ قطاریں، یا ایک ہی اسکرول ہونے والی فہرست کے لیے 0۔
page
defaultPage
onPageChangeاسٹیٹ
number0دکھایا گیا صفحہ، 0 سے شروع۔
pageSizesپراپnumber[][10, 25, 50, 100]پیجر میں دستیاب آپشنز۔
virtualپراپboolean | 'auto''auto'صرف نظر آنے والی قطاریں رینڈر کرتا ہے: ہمیشہ، کبھی نہیں، یا صفحات کے بغیر 100 قطاروں کے بعد auto۔
heightپراپstringایک CSS لمبائی جو گرڈ کو محدود کرتی ہے؛ اسکرولنگ اس کے اندر ہوتی ہے۔
columnState
defaultColumnState
onColumnStateChangeاسٹیٹ
NuiGridColumnState[][]ہر کالم کی چوڑائی، ترتیب، پن اور نمائش، محفوظ اور بحال کرنے کے لیے۔
modeپراپ'client' | 'server''client'server قطاریں جیسے آتی ہیں ویسے دکھاتا ہے، اور سارٹنگ، فلٹرنگ اور صفحہ بندی آپ پر چھوڑتا ہے۔
totalپراپnumberسرور پر قطاروں کی تعداد۔
loadingپراپbooleanfalseپروگریس بار دکھاتا ہے، اور قطاریں نہ ہوں تو عارضی قطاریں۔
localeپراپstring'en-US'اعداد اور تاریخیں فارمیٹ کرتا ہے، اور ٹائپ کیے گئے اعداد پڑھتا ہے۔
labelsپراپPartial<NuiGridLabels>گرڈ کا دکھایا یا پڑھ کر سنایا جانے والا ہر متن، ترجمے کے لیے۔
cornersپراپNuiCornersاس کے کونوں کی شکل: round، squircle، bevel، scoop، notch یا square۔
radiusپراپNuiRadiusاس کے کونے کتنے بڑے ہیں: none، small، medium، large یا full۔
densityپراپNuiDensityیہ کتنی جگہ لیتا ہے: compact، regular یا roomy۔
groupByپراپstring[][]وہ کالم جن کے لحاظ سے قطاریں گروپ ہوتی ہیں، سب سے بیرونی پہلے۔
collapsed
defaultCollapsed
onCollapsedChangeاسٹیٹ
string[][]بند گروپس کی کلیدیں؛ گروپس شروع میں کھلے ہوتے ہیں۔
getChildrenپراپ(row: T) => T[] | undefinedقطار کی چائلڈ قطاریں: گرڈ ٹری ڈیٹا دکھاتا ہے۔
expanded
defaultExpanded
onExpandedChangeاسٹیٹ
unknown[][]ٹری ڈیٹا میں کھلی قطاروں کی کلیدیں؛ قطاریں شروع میں بند ہوتی ہیں۔
details
defaultDetails
onDetailsChangeاسٹیٹ
unknown[][]ان قطاروں کی کلیدیں جن کی تفصیلات کھلی ہیں۔
totals, flashپراپbooleanfalseتمام فلٹر شدہ قطاروں کی مجموعی ویلیوز کی ایک قطار؛ ایسے سیل جو متن بدلنے پر چمکتے ہیں، مستقل rowId والی قطاروں میں۔
layoutپراپ'table' | 'list' | 'auto''table'list قطاروں کو کارڈز کی صورت میں دکھاتا ہے، اور auto تنگ اسکرینوں پر ایسا کرتا ہے۔
toolbarپراپboolean | 'auto''auto'قطاروں کو سارٹ و فلٹر کرنے اور سب کو منتخب کرنے والا بار: ہمیشہ، کبھی نہیں، یا کارڈز کے ساتھ auto۔
renderEmptyرینڈر پراپ(filtered: boolean) => ReactNodeقطاریں نہ ہوں تو جو دکھتا ہے؛ اسے بتایا جاتا ہے کہ کیا فلٹرز نے انہیں چھپایا۔
renderDetailرینڈر پراپ(row: T) => ReactNodeقطار کی تفصیلات، جو کھولنے پر اس کے نیچے دکھتی ہیں۔ گرڈ ٹوگلز کا ایک کالم شامل کرتا ہے۔
onRowActivateکال بیک(row: T) => voidEnter یا ڈبل کلک سے کھولی گئی قطار کے ساتھ کال ہوتا ہے۔
onCellEditکال بیک(edit: NuiGridEdit<T>) => voidہر مکمل ترمیم کے ساتھ کال ہوتا ہے۔
onQueryChangeکال بیک(query: NuiGridQuery) => voidسارٹ، فلٹرز، تلاش اور صفحے کے ساتھ کال ہوتا ہے، جب بھی یہ بدلیں، اور شروع میں ایک بار۔
refپراپRef<NuiGridHandle>گرڈ کا ref کن چیزوں تک پہنچتا ہے: ایکسپورٹس، پرنٹنگ اور فوکس۔
exportXlsx, printمیتھڈ(options?) => Blob, () => voidفلٹر اور سارٹ شدہ قطاریں اسپریڈشیٹ کی صورت میں؛ ہر قطار پرنٹ کرتا ہے۔
exportCsvمیتھڈ(options?) => stringنظر آنے والے کالموں کی فلٹر اور سارٹ شدہ قطاریں، CSV کی صورت میں۔
expandAllمیتھڈ(open?: boolean) => voidہر گروپ اور چائلڈ قطاروں والی ہر قطار کھولتا ہے، یا سب کو بند کرتا ہے۔
focusCellمیتھڈ(row: number, col: number) => voidکسی سیل کو فوکس کرتا ہے؛ قطار -1 ہیڈر ہے۔
clearFiltersمیتھڈ() => voidتمام فلٹرز اور تلاش صاف کرتا ہے۔
fitمیتھڈ(id: string) => voidکالم کو اس کے رینڈر شدہ سیلز میں سب سے چوڑے سیل کے مطابق فٹ کرتا ہے۔

اسٹیٹ React کے اپنے ان پٹ فیلڈز کی طرح کام کرتی ہے: ویلیو پاس کریں اور اسے اس کے on…Change کال بیک سے اپ ڈیٹ کریں، یا default… ویلیو پاس کریں اور اسے کمپوننٹ کے پاس رہنے دیں۔

کسٹمائزیشن کے جو پراپس آپ سیٹ نہ کریں، وہ قریب ترین data-nui-* ایٹریبیوٹ کی پیروی کرتے ہیں۔ کسٹمائزیشن گائیڈ دیکھیں۔

NuiGridColumn

ایک کالم۔ یہ Angular کالم کی ہر پراپرٹی لیتا ہے (صرف id اور header لازمی ہیں)، اور یہ دو بھی، جو اسے بناتی ہیں۔

NuiGridColumn: پراپرٹیز
نامٹائپڈیفالٹتفصیل
renderCellرینڈر پراپ({ row, value, text, column }) => ReactNodeکالم کے سیلز خود بنائیں، قطار، اس کی ویلیو اور اس کے متن سے۔
renderHeaderرینڈر پراپ(column) => ReactNodeکالم کا ہیڈر خود بنائیں؛ اس کا نام اب بھی header ہی دیتا ہے۔