to see in english follow: http://neu2st.blogspot.com/2008/02/how-to-show-large-table-in-data-grid.html
.НЭТ дээр өгөгдлийн сантай application program бичиж байгаа мань мэтийн хүмүүст дараах асуудал тулгардаг. Энэ бол хэт их өгөгдөлтэй өгөгдлийн сангийн хүснэгтийг Fill хийх үед програм удаан хугацаагаар Not responding болдог. Мөрийн тоо нь 375000 орчим байсан болохоор шууд Fill хийвэл 3 мин орчим хугацаа зарцуулаад байсан. Аз таарч миний ашигладаг Dev eXpress Components-ийн GridControl component нь энэ асуудлыг шийдсэн байсан л даа. GridControl component-д ServerMode гэсэн property байдаг. ServerMode=false бол grid нь энгийн Fill функцээр DataTable-ээ дүүргэнэ гэсэн үг. Харин ServerMode=true байвал эхлээд цонхонд харагдах өгөгдлийг өгөгдлийн сангаас авчрана. Үүнээс хойш скроллдох (filter, sort) үед дэлгэцэнд харагдах мэдээллээ л сангаас аваад байна. Дараах дарааллын дагуу хийгээд үзэхэд үнэн кайф авна доо.
1. Формоо үүсгэ (ex: Form1)
2. DataSet ээ визардынх дагуу үүсгэчих (ex: DataSet1; CustomersDataTable)
3. GridControl-оо Form1 дээрээ нэмнэ (ex: GridControl1)
4. GridControl1.ServerMode property-г True болго
5. XpServerCollectionSource гэсэн контрол байгаа. Тэрнийг аваад форм дээрээ тавь (ex: xpServerCollectionSource1)
6. xpServerCollectionSource1.ObjectClassInfo гэдэг property-г DataSet1.CustomerDataTable гэсэн утга сонгож өг. WindowsApplication1.DataSet1+CustomerDataTable гэсэн утга автоматаар ороод ирнэ.
7. GridControl1.DataSource= xpServerCollectionSource1
8. Form1_Load дээр энэ кодыг нэмж өг. XpoDefault.ConnectionString= DevExpress.Xpo.DB.OracleConnectionProvider.GetConnectionString("local", "scott", "tiger");
Энэ тохиолдолд Oracle 10g ашигласан байгаа. Ер нь бол MSSQL, mySQL, Interbase өөр юу юу ч байдаг билээ, бүгдийн л ашиглаж болох юм байна лээ.
http://www.devexpress.com сайтаас энэ компонентийг татаж аваад крак олоод ашиглачихад давгүй л юм байна лээ. Интерактив-ийн Interactive Diamond-г хийхэд ашигласан компонентүүд шүү :)
Subscribe to:
Post Comments (Atom)
3 comments:
dataadapter ашиглаагүй юм уу, тэрнээс гадна хэзээ серверээсээ авчрах юм болжийнааа, өгөгдөл нэмэх өөрчлөсөн ч дэлгэцнээсээ хусаад байдаг юм уу, коммит энэ тэр хийгээд серверээсээ syncronization хэзээ хийдэг юм бэ
Oo ene commentiig yeroosoo haraagui yum bna sht. Sorry
Yag ooroo DataAdapter ashiglaagui. Bi eneniig ComboBox-oos baraanii code songohod ashiglaj baisan yum. Niit 350.000 baraanii code bolohoor tuuniig achaalahdaa mash ih udaj bsan. Gehdee ashiglaj uzeegui ch gsn insert/update/delete bolomj baigaa.
Servereesee avahiin huvid bol ta yag ali medeelliig harj bna ter medeelliig l avchrana. Delgets deer bgaa current view gsn ug. Dooshoo scrolldvol dooshoo nemeed avchraad bna. Deeshee scrolldvol deeshee nemeed avaad bna. Ter tal deer yamarch problemgui goyo ajilladag yum bna le
2M Бичлэгийг асуудалгүй гаргаж байна. Бичлэг их хэрэг боллоо :)
Post a Comment