From 2764162415805bd199fb03b2d284aca6cdcd0eca Mon Sep 17 00:00:00 2001 From: AneesFathimaS Date: Wed, 15 Oct 2025 12:48:23 +0530 Subject: [PATCH 1/3] Added the UG for SfDatagrid data annotation support. --- .../columns/maui-datagrid-formatting.png | Bin 0 -> 5769 bytes .../columns/maui-datagrid-groupName.png | Bin 0 -> 5639 bytes .../Images/columns/maui-datagrid-order.png | Bin 0 -> 8440 bytes MAUI/DataGrid/columns.md | 149 ++++++++++++++++++ 4 files changed, 149 insertions(+) create mode 100644 MAUI/DataGrid/Images/columns/maui-datagrid-formatting.png create mode 100644 MAUI/DataGrid/Images/columns/maui-datagrid-groupName.png create mode 100644 MAUI/DataGrid/Images/columns/maui-datagrid-order.png diff --git a/MAUI/DataGrid/Images/columns/maui-datagrid-formatting.png b/MAUI/DataGrid/Images/columns/maui-datagrid-formatting.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf2217930cae4535d7c4ca7fd3f2ab5883c6f32 GIT binary patch literal 5769 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 literal 0 HcmV?d00001 diff --git a/MAUI/DataGrid/Images/columns/maui-datagrid-groupName.png b/MAUI/DataGrid/Images/columns/maui-datagrid-groupName.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0e66c526280a0322354f26264e5df510ea99f1 GIT binary patch literal 5639 zcmcIodpOhm-(PpDaom>F1Rlf(^IUOYuHQ-m}d{h%*bF5?-!*p@Xf(M6Qtq6*&~Ac z6%G}MT{;JW2y2-bTtFp$p4GXlbLGi4k5~H*^}D7~GyBlpQm24{hO4%Z znD_onu}tIbo`#(8_m@8gG2Qnkbk7q5$WJdfdCC{MQk`OtYSgwpt*N8#gi=bEii*oD zoFscs`A9~y9Y}Vp!ec6iBTCK@@_i>l+_@uX2Yd1I%Nk8bwe_l_msvu1t&a=8n&HQ< zIJL)Q#-5~FA%c<@&~FQCugVoGcRyJ&!s8@bj~DRKN;+XBK1}RGc`5hm0`(a$l%ikO zfwwm=>YrYu(z6{u;R z$w;+uSm%`YfH-PdMX%AHJ-!5b4`YKaKF% zF?Ji2TyY{i0xFY2;1hk5H2QRtMK;KrtNA{IlT(45;8xKv*fBvPbWhN2& zN&Z`QxXn@j5=})}`;oP9BDLjkzhK>CpREZSHPf|%DPL28xWCt>e|7YCnO#8;UP6DX z#s7NvpU7BNHS}8(Yx;br&C}CUd*_ybfFS(wFtEd<9nrlvcYS27D>y=4cK462+J)ZE z_nm)ulyJ4i{UX0cZyRE}Bk*>of2pprZ`nYzmJ);`C2W(&Hp}feVe)>5j3$+OqEGgV zKD~RJ=i74AMl5@SXS`{vJ^g)2wnLv$+a)wF1&z@y{XDtm_a>!l?=)Zl%y0Bq5Yh1M z$QG&x(Uvxst8LJjmSv~z6X+PMrsMTweyyRrG*M}_j>HUH{_AdYR`3&LO&$1UChVL` zWt~cYwJ<~RLXx1peD(PzfmO982jj>M3rB(E1(vku+?>9sGV^lr!$-{lmURf3Z8LIe zs^>e^!-N$xZr`eM2y`x(8*-Y*FQ@b5cOI=PV{jv)WS1x2cc8UwV40_0nafG`G6@Q0#FjVngHipelQju}?C?Iyyzt zx>c9Q0;#2()o=XYpyWw}>w&z9J^TIT*aeHk9ioY|sf1n&(YDC%3YH^z#N%qZzjW%H z->28rZN4irPBwTjKii5vb#XqCvMx37=Co^cy8ftY_+PzH@@#>DW15rTZtqfhj360j zI@l#9FyXh4wgBj;;|EjBb*~GManx&F;qlUpjQXUI^lNV=8C`S~blS`Ka?e=9_cQ~Q zB|a4f&3&iDk)Mo{zEEmc@`m?jiFrFdf%(Ab&KrOL;crt6QiuMRusCByUZUZaNJpvdf6?Rk=$^My4nAsZOe&#(gT z@8_EtfnUD4|HZMFn6>02s7eH$Y0!LMco!sFDQVVdvJ0N82k!Paao1ymU#&4q4thCv zbG-d*5X`pAU+8;$GNDO!7^h_I`Sb+m4RS@*vdHzthVWm75=~oNUpPaj6NKjzbVc$H zo8LJ?`*Tct?h~baElWv;UL1FGEOU8du)fNJ>=k;4X^0Tq`@*#8Vts%;_r zS;-xHfOX_Ltv(a@iof)nZvBD=5RxS7+YBzjrP4s>Of# zmNHvT>*OS8&DNYGM!%Q1cGBwE;XG#1z-B#GZL3$aW++8_p+*~@S*M^HIpsKbvY*X< zAG+Y0V~XjENK^M7<9EKDSMGFgb{9DmIMxueui2?cs2aCcC8nK23V|lsN8AhN3L_uP z+cb84YLq$PN+5S1x;3g`iP<*MbEl)3M)@?LM+0)umCshqlI94&p6lnCW1>eM{H3Dr*gwo!|3^p}$KBh0FQATZ4)Bk|OZVV5 z`w~R(EA_+QvuM4XV7tyY?Vo@1`3CTB$~Ebx6x~9SK3;!iDgmoczlIPFZk!4O=p?@3 z3+hU4E6ArwFHReitZD}5CwBHjV=s{T6#R7a7@7o4K(v*OP02R-NXF0DST5tMduGX)o zhMK;$RLux4C_OhjP?a{$`{nBw;&WPU>5YcU!w361Wl(l2?kb3S`N6u1de>+!LUEuA z(8vk=1{IB(dD4kY&AdfhNpK!qh-)i-be$PzFuwV%|GBvg{l=Gz4;1%q%0AGWeykyQ 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 Il^b{e1ILaFS^xk5 literal 0 HcmV?d00001 diff --git a/MAUI/DataGrid/Images/columns/maui-datagrid-order.png b/MAUI/DataGrid/Images/columns/maui-datagrid-order.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d9a03a89294ad803a18d056d38f6c8a334e4e8 GIT binary patch literal 8440 zcmcgyXEi+uGb}`_gXu$gHrS z$kWqXOH=#RtJgErGihm<)n&rU(z=@~g0o=%E)nXQt&Wz)wX5sm^TY>oFKs;t`NnNp zGIAPqkfa;YDq(Gnd&a)gI~h?4TVe^C?Akm-(e`T>S>AUUhMb>xFnOHVud{$dESuo* z%jFHcYsacr@#V;b^PhAmF^SC!>`gE=Cvsvd zNAhc3FOq7yU%bN%;&nLc%zoqWuck)l%3m60tkPeCYL;wFz{f!@3$5E) zr*@GQV=v3$k%yw0wqdnObDyV7{SSIM$xhwlZ`*_gAB{JIUk-#K*;HY(1*3^Zmyit8 zA4{>pQ#Mq&{kSa^|5tQr@;{gsVrjEl{ojTe6lpg-cWX!+=@jIGd7Z-JgQ|ookNTKl zPHGE(>C5g=Oc0z$V_#NqQ02H3H0q_$0!$9a@8V%Mva6oH{1Wc1wI!__b{J?lR{34g z#oSk%5tuY&RZx^cnmf{vVgl~!eIF}@vKk%Bm)O{FwaSj3CJgt#AX#1B>Htqx$TGB6 zK3{M?tGlS|njG6Jh`4I|K}irjkBoc*N15&{;%IV%O6JGDSV+K2Td8tg!(!xtYwV9D zg}@-%8|0MbyIiA@GZr>*PdB6ReD!-bewnB7KK-cdWm`WO9Bh_*4wL{;x2nv)4!2e$ z2+KCttzFex`v4+OioKR@lf4R^0xiwYK%G^FKLT58#0$vQJWA%fx9(U*^bJ3M&s||7 zLUP*Exm1M(*W~S*awHS6LjBk@^R{SptVpU-l3I6 zxgF|N=Ef5MMAS=GU~7Z%d98IO7edXuhl0%1+#nXfzJpWJ7V=5k27~_+Gj?V3-txd7 zsM=O{JlV0*9d?y!^lLu$ntrd+HU;>xh%~_2U09W!H(GNAF9N1PVuBXW+}*+&wj230 zRX5}ZFT!7u1(Ijn;3Hj=$Lto!l`>V6%cOfKfu0^OBP%$(zkhvfP8*OpXS6R;YliLoC#c;!%^^+F>AgdF zyPc$_5wtD!zK^9J!o0KPR@+set8k!N$6@LTo{UQS{M-e{%x7$tm)!WL7c~d{hA-g9 zQ!Mh=A3(*Qm)0+XCnWc~>rJIp17-rhpIh9-$DC8;_FbA0ltcF*!C@6Zy#D-A)8CJ{ z{~e>(0axp-=VdF>@l*f1<8McG>rI%#g*WMyj}Jh|aL|cfIaz!vKI!Uh-HUX&X?Rn{ zuJ^PkZA|V)k>8-fsgH#S+l#50%vzQDLzJeDoW$`i7nsb(bF`mqgX2z$4FmPihZW7Ug~t)e znl95GrA6(R8=ih$YwYv32i49OH(|bUPJ~c7ryJ6FHI7S1Y<6$DRyay4dg!H&Rx2Si zkjK;yV=PUceLW(ObNVO9B&yB$;#L?GBwAaay%ZFv+qmX#*;s5E{K4E%5ArGWjiSzP zWUBEc$xcFbw-g5p?n5Y)(*9!#|6o0)nsn}_S!E1!GJuJ(VsiZ$efxy|*(kvsO6KS> zxXjVDT1!D{n^7TXA`gn(f7Y4Ao1tw61*hGa%`h11M2({0tBdXw@~1G|0H zZVtKZ{)Zhc@f;t$F?bo?D%%6HZn6UiPJTcFphI2I`B-wt4|GVc$&pmfF=(y#$67?d zk1akcAxyR@83BxSaty3$C)5lILM>f=Uv%yXn_SXqDuE)I?d$*2;{LgBYYeucJ-vSV zsfYz-xibsc6j%H8#W&jWQJTay`k0dva=w|?-f|+&Q>LEjI3f8PlIw`z6K-Jg<7D5u zre${b@`jf7^kx;M@)rte4*l1~ROGeWfYFrOGJ8$tBRSLTbK(AH?nm4u4Sl--mb)LK z>351hqy(HhjL*@5hfNgN-~R#xu|xZ$vF$6)!QLI!qNTugW03`{upi%1za*hiDs-=V zZ|bx4#yTBJwg32gis>xtKVd)(j2Lg#Kcvfl#b}_cX5>72`PamWUF-X>DohM0$W1qW z(0A`kIV=4~HTHE4rw3#H0<8Tlerpsa#l5RJjYE>31cS^9Z2&ptx8Ir^FI=)l8qpQ7 z39X+7?st+$^egCp6X$OC#nJieCm@aLJoSA!Q>PD-xHG8>jp!T*Jw{S}IOV(Wfs-dF z7S8Nn&zKRhjrYM)M{Oz6u&_I4D?6qd7TjiwyS)?1X&6u@b?9DZ9uS9r|{mi8YDxF_9O$C@gCU- zlI|`z;EI&aq3GwWqoauanjmRg-Tc}c*m4KEnY>?SN@|HQMu+tsf8CPvx+WVODHg!D zj3L{;#S&ZSD$9PhG<7xz!L$z4ul}G;e}1;cmP$%Z}qJ| zh%44)Dag|wuFjFWQ3Kw@wJBOZx=@p+s2YwOw4-5uNs1r+tPyy~jo%NlSk08g65PvD zEP7dBaF5`AvY&xcnqLq9HmA@bDv{s*w&eSl5C02(utUAmjPv53wSIc8Nap}-p=JUC z;$4TnVqk$1%iq=_rei?4Pj=aX!5PTJQ^8`m!Hk1gyK?ujZs*1sJij;tS*5r3;jzVC zECf}`J8C!@yB3_aIS~cA1v`M)UZvW@C1J_{j!#l1axoiLoek+|C6xM)z_~VC_biO_ z0P#ijh15b8X#wSprynjD`3A5Snc1(Ao^AJkdc@FK`quNvoYbzZpAc>91UUS$Cl@g0I8M-63K1F>eu zcTm;>%Yp8lPVUpwF@P7m1NjfD^;dfCb>2dUFKD3nsx8F>U})>kCDn+%5)Di`EyqRR z_jd;n6!8PyaHtj;?Y_!Ij!rDW+&T%M!WX?^QeSat?_zHa;y8N@rWbrpXt^+ z<_SoKASeNBb|R188FU^XS71RHGMu0U?=kJ~0F*9lqN|V$q{aSQ3l@hn(lo>^sPy|) zA23-li~QK!o~|G-#BIg6B)BPTFA6zop3aV+WJjx&3D;_j=Kq%Hk^6cUqkCF!F2w+S zi-6l!0|x08E)PDAucs=BqAq{h&q6w*02i7}b(?it09rCFndmj_V|nN6B--$)RH&Xm z&z8NE0=c70nFWJemj*+YxUp03;%a9dba$3SUiIj6NmOM!!0t=dw+EdY?t-Nk=_SEu z3Yw9c!`oF-=b};K?9Df3@!jRqIj0^+>25401ed$lN1jA#X5XwCsJK}Q4Azin{mQ#6 zQ_bvhP8{15i;!H_z)VR^@0Rh`@|&_>l2KQ~p5PJR#=UoiOPO)4kULhs-rN2KLGgKw zau`OsTy_uLA1^AI5hD#AErpGF3-gogb-V-hAMEh;U8(l?+b|+umv-SOHNmnn>>Ie_ zM+dKuj22dfKjvfrN-1{yGFB5Ns^}0$IP7O_4X}5+(r+J3aSKspM`^``1p-cE9lcH0J)4L)$}A8%9ETSu}vz{_N~SL>M&iX?UWZn5Rw$FIny{twFJ zSbjKZP;tMFK?cE{%?d5&r*k&-=BtDC*u7%tjyLy3PXz-4TJz*Yeh*aEL0M{hPL8j> z+M>Tyxl+OIF$~PQ4StRtUb3d*zf#n^1^K(lC=!_nc_#PoWv=m`+a5E91TB2?xYwzD z^iBDb0Npx_dJOpO3a)Z>HDvt=OEqYLcrlT9p6*g!+^-0=BQGpgD*B#)lr9k5t3XP1 zZgmyykprG5-BwBTpN$RaTS3Li-9D3Q$Ltd zAMn*qK_dFe9hAHSf2wMZvA=_+SA6W>-YMxzc&4}d)Y)RTDUJEir&w?63H^)MQM=8Q7ao3ZuO+ zNhys^Yq6!Ed=(iDHm^7{)N?do$CP9*z(1w670u9Sg_nNflb@mBG_Q74>sVg%kI2-> zb_AvGANMB@*%Q`1d#t+O6%#=LHcux52i8dWEGol?GtOf!ZhB_lzLHmU3N@o+VTl}B zdZJ%%S)#+3K5kTojcQIsXKvk-;x2`1^QOu6xP(EWRfs%%^>EXD9JsFmnV8^aV+oAd z9IeH-|2a;Y#i3$mEROyr7%TW%`jG>DCzu9v7du=BEtxKhI^VY1rqK$yXTKn;`Pk#9$vzKgBf=^4j@h87d2vAz zj3tN+HiR%N;73U|SFH06l)gN%S|~3prpCS^qe5|dJzcgM!wsOHph|fr_QmgfinPz> z0{ap|>CT2qD&K7x)GIJu%Atn7&hXJ}^H`}<`);R|1SEJ8H)d|-5~Wy>GkTajvP|7h z1f#q64Eg9p9BU7(6EEiKN}1FzG#0OTU~JP4RhTe}h^;5bpW;7TdSM>FeKp!O z!Yr1?htF)D=bjb(_{_7+@zSX@J%AGS=DOkqD@s7YF*>t>cAOyOYJ+6QVRtj#hswt&1(nW@}eRyKy*; z%+|=@u?*9KfdE@xbn#1BJ1WtZS7vw-*uGDIlRcd&OEYxGxQ^XY*!iy%Ls7V@>H4+? zrqHV7;fyQ{Lw2=!u};?Qb@oqvdG{*2&IjgOY8Ul)m})!*ju)yMc39{UnkaR;M;)wus2S6lBT^J_zY)Ib z%8V~^W`yM>Ip*D<4eh}WC8 zgB-=**Zi^O(fP{2>k#?#VW+k!*WHak7L;heeHGEN*seOx1R3ol&QGbwJ>%Y19qt_J zLw`M%N*h|6hRfI7DCH|MCZxlIM>5(FALz05Z360+PMNWDo^(RuSL*pD-q`wacquTy z0Jb;xQt9TUzo87f3kI$8*+B;d+|&{otgK z$h~rGbtSsI1FU%Ss)qK|%tuS5#%SunfLwF{A1ZWzEa%eoHjL9^MvXdezl#oLeP^K* zSbRJDbn4VjU|Fnv_vMKU&64hWF~)4g>V`>T*BqaJzz}!uQRbv&X^ zY-Zj#3x`be$eyMXy^nAc2Tp6FnvM$9yJfX+eCl(rvuIqc##)F?P~H!XpxjYGDKJH< zItB_Xd#SG)NJI=Mj`aMYsqqtz$%p|Jy@l6?K1-d|01{J)p!$1^@oX_b25bQ&GX`Wb z{xy{AG4jMbOra;hLj@bpTs1v`YvwK;E-KITI5R% zsJ%S7taL$}FxWjq*Y?kxaB&)Hhdef$sv_6BY%UPY*A%A*i;GXabpb*boge&2a|eZR zY1E0s_EG*y%i&ldf0Cae944x`Vv1y)ro%gAsEs^Uh=Et9Sz~$B7X85&Ml$;3IRbpg zg?#}DG73=_cV7?p*+3eBN72M@U_-UCRWb!+?RsvLE`5(?Lc`8gs?eO;ZXqv$peYX+ z)p2R{=Iz%!*Ee=e8w!N;1A?k*Ucdw8K(5RtlYHHN20_WhO<3h!u{o)VOd<6|3MSYqd zA&f}!FN@_KxXA%afvp@4EL5@Msqn;{8qiv^=9IBi{F)(YvL4U`@=L(G@Rp%fJD?@Q z<-lkDjanpFJC0_e&J4@SpDph;WYGD}*cYv0Yg|S(y$%o}wB4Ct#+j4PxVV{E7)N1D zMNzKf&a#3SKMMT7jGs;;bA;&OGmaC3E3K`O7PfuiWq6JdZM5&py)Fyl%4rk?Vjsru z#PdrO!=B_)s?ek(4L$)Iv*R)ve)-HZ0^~gzVo;-+Ez9UAvToBD=RIdIhy^hohUk4% zDlhCrDq*q!I-}?N*gD5dWXAcV>y2&{mbD3pU>bZ0A5^K;_o@LoI+ByN!5_~0uBSyGNcDBR24?9-_YjwgyUfn6vvm{C zav0ytn=LLih{&~ANi|B22C zl*ewsdh0`!vzQUn&&y)&#u5-`_lI5}%3Sdu_F9mh7K%B*t~HZLV$rQ>T2yI8Y`x;UcQvca>_FNeTsZm z`BMq7Qx3B+gb4FIdi|3j>90jjv??Pa*2P_CYf>?(@GNqxjY#5#4x8P=d@@VMsk-jk zj1xZ4!IIl8dINvb5VmQmOD+QR7(RQ2q>*sE4b%L|AprfzmtkY5=I zdVQ@|W+~FdWsKJ=E{~t6igPvN9#nd)^|E3OJy5`+k)Hd7Hc_;dt5mQv$DY8>M>CnU<4>f%YhVIUOxm$&jo|KjIz+_tLE5{d z0quv_#hX#_Cx5-B(uLQLp%LC3Dnark}%Z&Oq&ccK|8s5(MmCs zL1$Y#$~YZ2Sz*};WIt6{N9Qnja{{{`D{yAA*V literal 0 HcmV?d00001 diff --git a/MAUI/DataGrid/columns.md b/MAUI/DataGrid/columns.md index 0a9a98d0b4..ed4c4de6a5 100644 --- a/MAUI/DataGrid/columns.md +++ b/MAUI/DataGrid/columns.md @@ -148,6 +148,155 @@ private void SfDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGenerati {% endhighlight %} {% endtabs %} +### Data Annotations with AutoGenerateColumns +SfDataGrid support to generate the columns based on built-in [Data Annotation Attributes](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc490428(v=vs.95)). Data Annotations ignored, when the AutoGenerateColumns is set to False. + +#### Exclude column +You can skip the column generation using AutoGenerateField property. + +{% tabs %} +{% highlight c# %} +[Display(AutoGenerateField = false, Description = "OrderID field is not generated in UI")] + +public int OrderID +{ + get { return orderID; } + set { orderID = value; } +} +{% endhighlight %} +{% endtabs %} + +#### Editing + +You can change the value of the property using `Editable` attribute. + +{% tabs %} +{% highlight c# %} +[Editable(true)] + +public string Country +{ + get { return country; } + set { country = value; } +} +{% endhighlight %} +{% endtabs %} + +#### Change the HeaderText of column + +You can customize header text of column using `Display.Name` property or `Display.ShortName` property. + +{% tabs %} +{% highlight c# %} +[Display(Name="Name of the Customer",Description="CustomerName is necessary for identification ")] + +public string CustomerName +{ + get { return customerName; } + set { customerName = value; } +} +{% endhighlight %} +{% endtabs %} + +#### Change the order of the columns + +You can change the columns order using `Display.Order` property. + +{% tabs %} +{% highlight c# %} +[Display(Order=0)] + +public int OrderID +{ + get { return orderID; } + set { orderID = value; } +} +[Display(Order=1)] + +public string CustomerID +{ + get { return customerId; } + set { customerId = value; } +} +{% endhighlight %} +{% endtabs %} + +The OrderID and CustomerID column rearranged based on specified order. + +Changing Columns Order in Maui DataGrid + +#### DataGrid read-only column + +You can disable the editing for a column using `ReadOnly` attribute. + +{% tabs %} +{% highlight c# %} +[ReadOnly(true)] + +public string Country +{ + get { return country; } + set { country = value; } +} +{% endhighlight %} +{% endtabs %} + +#### Format datagrid columns using DisplayFormat attribute + +The auto-generated columns will be formatted using the [DataFormatString](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679306%28v%3dvs.95%29) property in the [DisplayFormat](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679253%28v%3dvs.95%29) attribute when the `DisplayFormat` attribute is defined for the properties defined in the model. If the `DisplayFormat` attribute is defined with the `DataFormatString` property, the DataGrid formats the column only based on `DataFormatString`, without considering other formatting property settings of columns. + +{% tabs %} +{% highlight c# %} +[DisplayFormat(DataFormatString = "yyyy")] +public DateTime OrderDate +{ + get { return _orderDate; } + set { orderDate = value; } +} + +[DisplayFormat(DataFormatString = "Country is {0}")] +public string Country +{ + get { return country; } + set { country = value; } +} +{% endhighlight %} +{% endtabs %} + +N> The `DataFormatString` attribute will be considered only when the column is auto-generated. + +Maui DataGrid with Columns Formatting + +#### Group columns under stacked header +Enables grouping multiple columns under a shared stacked header in the user interface. It also supports hierarchical (nested) grouping by using the / separator in the ChildColumns property. + +{% tabs %} +{% highlight c# %} +[Display(GroupName = "Order Details")] +public string? OrderID +{ + get { return orderID; } + set { this.orderID = value; } +} + +[Display(GroupName = "Order Details")] +public DateTime OrderDate +{ + get { return _orderDate; } + set { _orderDate = value; } +} + +[Display(GroupName = "Order Details")] +public string? ShipCountry +{ + get { return shipCountry; } + set { this.shipCountry = value; } +} +{% endhighlight %} +{% endtabs %} + +Maui DataGrid group columns with stacked header + ## Manually generate columns The `SfDataGrid` allows to define the columns manually by adding the [DataGridColumn](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.DataGrid.DataGridColumn.html) objects to the [SfDataGrid.Columns](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.DataGrid.SfDataGrid.html#Syncfusion_Maui_DataGrid_SfDataGrid_Columns) collection. If you want to show only the manually defined columns in the view, you can achieve that by setting the `SfDataGrid.AutoGenerateColumnsMode` property to `None`. From 3f589effc2e653e17aa62a466cf53b72c49822be Mon Sep 17 00:00:00 2001 From: AneesFathimaS Date: Fri, 17 Oct 2025 16:30:24 +0530 Subject: [PATCH 2/3] Made the review corrections --- MAUI/DataGrid/columns.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/MAUI/DataGrid/columns.md b/MAUI/DataGrid/columns.md index ed4c4de6a5..e9d9f3dec6 100644 --- a/MAUI/DataGrid/columns.md +++ b/MAUI/DataGrid/columns.md @@ -149,15 +149,18 @@ private void SfDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGenerati {% endtabs %} ### Data Annotations with AutoGenerateColumns + SfDataGrid support to generate the columns based on built-in [Data Annotation Attributes](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc490428(v=vs.95)). Data Annotations ignored, when the AutoGenerateColumns is set to False. +N> Data annotations are only applied when the DataGrid.AutoGenerateColumns property is set to True. + #### Exclude column + You can skip the column generation using AutoGenerateField property. {% tabs %} {% highlight c# %} [Display(AutoGenerateField = false, Description = "OrderID field is not generated in UI")] - public int OrderID { get { return orderID; } @@ -166,9 +169,9 @@ public int OrderID {% endhighlight %} {% endtabs %} -#### Editing +#### Editing -You can change the value of the property using `Editable` attribute. +You can change the value of a column cell by setting the `Editable` attribute to true. {% tabs %} {% highlight c# %} @@ -200,7 +203,7 @@ public string CustomerName #### Change the order of the columns -You can change the columns order using `Display.Order` property. +You can change the order of columns using the `Display.Order` property. Columns are arranged based on the specified order value, with lower values appearing first. {% tabs %} {% highlight c# %} From cf94caa729d7d492a2bb9303ac83686d9d864afe Mon Sep 17 00:00:00 2001 From: AneesFathimaS Date: Tue, 21 Oct 2025 12:36:08 +0530 Subject: [PATCH 3/3] Made the review corrections. --- MAUI/DataGrid/columns.md | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/MAUI/DataGrid/columns.md b/MAUI/DataGrid/columns.md index e9d9f3dec6..c3108f0bb1 100644 --- a/MAUI/DataGrid/columns.md +++ b/MAUI/DataGrid/columns.md @@ -150,7 +150,7 @@ private void SfDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGenerati ### Data Annotations with AutoGenerateColumns -SfDataGrid support to generate the columns based on built-in [Data Annotation Attributes](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc490428(v=vs.95)). Data Annotations ignored, when the AutoGenerateColumns is set to False. +SfDataGrid support to generate the columns based on built-in [Data Annotation Attributes](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc490428(v=vs.95)). N> Data annotations are only applied when the DataGrid.AutoGenerateColumns property is set to True. @@ -171,12 +171,11 @@ public int OrderID #### Editing -You can change the value of a column cell by setting the `Editable` attribute to true. +When the `Editable` attribute is set to true, it enables editing of the cell values. {% tabs %} {% highlight c# %} [Editable(true)] - public string Country { get { return country; } @@ -192,7 +191,6 @@ You can customize header text of column using `Display.Name` property or `Displa {% tabs %} {% highlight c# %} [Display(Name="Name of the Customer",Description="CustomerName is necessary for identification ")] - public string CustomerName { get { return customerName; } @@ -207,20 +205,19 @@ You can change the order of columns using the `Display.Order` property. Columns {% tabs %} {% highlight c# %} -[Display(Order=0)] - -public int OrderID -{ - get { return orderID; } - set { orderID = value; } -} [Display(Order=1)] - public string CustomerID { get { return customerId; } set { customerId = value; } } + +[Display(Order=0)] +public int OrderID +{ + get { return orderID; } + set { orderID = value; } +} {% endhighlight %} {% endtabs %} @@ -235,7 +232,6 @@ You can disable the editing for a column using `ReadOnly` attribute. {% tabs %} {% highlight c# %} [ReadOnly(true)] - public string Country { get { return country; } @@ -246,7 +242,7 @@ public string Country #### Format datagrid columns using DisplayFormat attribute -The auto-generated columns will be formatted using the [DataFormatString](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679306%28v%3dvs.95%29) property in the [DisplayFormat](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679253%28v%3dvs.95%29) attribute when the `DisplayFormat` attribute is defined for the properties defined in the model. If the `DisplayFormat` attribute is defined with the `DataFormatString` property, the DataGrid formats the column only based on `DataFormatString`, without considering other formatting property settings of columns. +When the [DisplayFormat](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679253%28v%3dvs.95%29) attribute is defined for properties in the model, the auto-generated columns in the DataGrid created via DataAnnotations will be formatted using the [DataFormatString](https://learn.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc679306%28v%3dvs.95%29) specified in that attribute. {% tabs %} {% highlight c# %} @@ -266,8 +262,6 @@ public string Country {% endhighlight %} {% endtabs %} -N> The `DataFormatString` attribute will be considered only when the column is auto-generated. - Maui DataGrid with Columns Formatting #### Group columns under stacked header