PDA

View Full Version : پر کردن دیتا گرید



minaforotan
سه شنبه 11 مرداد 1390, 01:12 صبح
از کد زیر برای پر کردن دیتا گریدم استفاده کردم اما جواب نداد کسی میدونه ایرادش کجاس؟



ad.SelectCommand.CommandText = "Select * from chek Where noe_sanad='1'"
Dim dt = New DataTable
ad.Fill(dt)
If Not dt.Rows.Count = 0 Then
DataGridView1.CurrentRow.Cells(1).Value = dt.Rows(0).Item(1)
DataGridView1.CurrentRow.Cells(1).Value = dt.Rows(0).Item(2)
DataGridView1.CurrentRow.Cells(1).Value = dt.Rows(0).Item(3)
End If

Mani_rf
سه شنبه 11 مرداد 1390, 09:04 صبح
این کدی که نوشتی اصلا درست نیست. اگر میخوای به این روش اضافه کنی باید اول یک سطر خالی ایجاد کنی و بعد مقدار ها را به آن اضافه کنی .
اما راه راحت تر اینه که دیتاسورس دیتا گرید را مساوی با دیتا تیبلی که ساختی قرار بدی.

DataGridView.DataSource = Dt

Behzad_MCP
سه شنبه 11 مرداد 1390, 09:56 صبح
با سلام منم با روش آقای Mani موافقم و اصولا راحتترین راه و کم خطا ترین راه هستش ولی فکر کنم شما GridView را در DesignTime درست کردین اگه اصرار دارید پس برای پر کردنش از حلقه استفاده کنید

For each row as datarow in dt.rows

یا

for i as integer = 0 to dt.rows.count - 1

minaforotan
سه شنبه 11 مرداد 1390, 23:33 عصر
وقتي که ستون ها رو در زمان طراحي درست کرده باشيم دستور DataGridView.DataSource = Dt جواب نميده

و از حلقه هم به شکل زیر استفاده کردم و عکس خطاش رو ضمیمه میکنم

Behzad_MCP
چهارشنبه 12 مرداد 1390, 10:41 صبح
Count را منهای 1 کنید

alimanam
چهارشنبه 12 مرداد 1390, 19:03 عصر
با سلام

به نظر من هم بهترین روش همون روش مانی جان هستش یعنی بیای دیتاتیبل رو پرکنی بعد دیتاگرید ویو رو متصل کنی به دیتاتیبل . هر کدوم از ستون هاش هم میتونی عنوانش رو تغییر بدی و اندازه اش هم که راحت قابل عوض شدنه ( منظورم از اندازه Width هر ستون از دیتاگرید هستش ) مثل کد زیر :

Public Class Form1
Private Function MyDataTable() As DataTable
Dim ad As New SqlClient.SqlDataAdapter("Select * from Table1", "Your Connection String Here")
Dim dt As New DataTable
ad.Fill(dt)
Return dt
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.DataSource = MyDataTable()
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(0).HeaderText = "کد"
End Sub
End Class

موفق باشید ./