PDA

View Full Version : دیتا گرید در .Net



ساران سافت
شنبه 15 آذر 1382, 16:09 عصر
یک سوال:
یک دیتا گرید را در .net چجوری می شود فرمت بندی کرد. یعنی عرض ستون ها را تغییر داد و کپشن سر ستونها را تغییر داد؟

و یک سوال دیگه:

من یک برنامه رو که با کد Ado و یک دیتا گرید به یک جدول وصل بود را با vb6.0 نوشتم. بعد آن را آپ گرید کردم به .net کار می کند ولی و قتی دیتا گرید قدیمی را با دیتا گرید .net عوض می کنم این پیغام خطا را می دهد : چرا؟
Complex DataBinding accepts as a data source either an IList or an IListSource

کد برنامه هم این است :


Private Sub frmPerson_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim db As ADODB.Connection

db = New ADODB.Connection
db.CursorLocation = ADODB.CursorLocationEnum.adUseClient
AppData = Application.StartupPath + "\data\"
db.Open("PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" + AppData + "Main.mdb;")

'Refresh grid
adoPrimaryRS2 = New ADODB.Recordset
adoPrimaryRS2.Open("select Code,FName+' '+Name as FLName,Tel,Address,Debit,Obj,Operator from Person Order by Code", db)

grdDataGrid.DataSource = adoPrimaryRS2
grdDataGrid.PreferredColumnWidth() = 500


End Sub

sh
شنبه 15 آذر 1382, 18:34 عصر
سلام

در لیست خصوصیات دیتا گرید بر روی گزینه Tablestyle کلیک کنید و در ژنجره ای که باز میشود یک DatagridTablestyle درست کنید و در لیست خصوصیات همین شی که درست کرده اید بر روی GridColumnStyle کلیک کنید و میتوانید خصوصیات هر ستون را تغییر دهید البته از طریق کد نویسی هم میشود

با تشکر

hmm
یک شنبه 16 آذر 1382, 07:28 صبح
در مورد سوال اول که جواب داده شد .
ولی در مورد سوال دوم تا آنجا که من اطلاع دارم در دات نت نمی توان مستقیما یک recordset
رو به یک دیتاگرید وصل کرد باید رکوردست خود را به یک dataset تبدیل کنید (دستور fill از آدابتور)
وبعد dataset رو به دیتاگرید وصل نمایید.

ساران سافت
یک شنبه 16 آذر 1382, 08:52 صبح
ولی این برنامه update شده به .net با کد بالا که با ریکورد ست است دارد کار می کند حتی رکورد به آن اضافه و حذف و Refresh هم می کند! :|