C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: DataGridViewに配列をバインドする


(過去ログ 56 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■31583 / inTopicNo.1)  DataGridViewに配列をバインドする
  
□投稿者/ みか (1回)-(2009/01/24(Sat) 15:21:51)

分類:[.NET 全般] 

皆さんこんにちは。

現在配列に含まれるデータを、DataGridViewにバインドする方法で悩んでいます。
いろいろとググってはみたのですが、不慣れなせいか、よく理解できません。
どのようにコード書いていけばよいのか、教えていただけないでしょうか?
よろしくお願いします。
引用返信 編集キー/
■31591 / inTopicNo.2)  Re[1]: DataGridViewに配列をバインドする
□投稿者/ オショウ (81回)-(2009/01/24(Sat) 18:36:36)
> 現在配列に含まれるデータを、DataGridViewにバインドする方法で悩んでいます。

  手元のプロジェクトをザッと編集したコードをアップします。
  SQL Server からデータを読み取ってDataGridViewに表示するものです。
  細かい設定は割愛していますが、まぁ~参考に!

※ GetData() の、『DataGridView1.Rows.Add(objDt)』部分が、今回のミソ
  ですネ!~

※ 適宜、Imports を追加して下さい。
  細かいエラー処理も割愛してます~

Private Sub InitGrid()

With DataGridView1
.Columns.Add("Hoge1", "Hoge1")
.Columns.Add("Hoge2", "Hoge2")
.Columns.Add("Hoge3", "Hoge3")
.Columns.Add("Hoge4", "Hoge4")
.Columns.Add("Hoge5", "Hoge5")
End With

End Sub

Public Function GetDBConnectString() As String

Dim AdoSQL As SqlConnectionStringBuilder

AdoSQL = New SqlConnectionStringBuilder

With AdoSQL
.DataSource = "HOGE_SERVER"
.InitialCatalog = "HOGE_TABLE"
.UserID = "hogeUser"
.Password = "hogePass"
.IntegratedSecurity = False
.ConnectTimeout = 10
End With

Return AdoSQL.ToString

End Function

Private Sub GetData()

Dim bRet As Boolean
Dim AdoSQL As StringBuilder
Dim objDt(6) As Object

Using AdoDB As SqlConnection = New SqlConnection(GetDBConnectString())
Try
AdoDB.Open()
bRet = True
Catch ex As SqlException
bRet = False
End Try

If bRet Then
AdoSQL = New StringBuilder

With AdoSQL
.Length = 0
.Append("select ")
.Append("Hoge1,")
.Append("Hoge2,")
.Append("Hoge3,")
.Append("Hoge4,")
.Append("Hoge5 ")
.Append("from ")
.Append("HOGE_TABLE")
End With

Using AdoDA As SqlDataAdapter = New SqlDataAdapter
Using AdoDS As DataSet = New DataSet
AdoDS.Clear()

Using AdoCMD As SqlCommand = AdoDB.CreateCommand
With AdoCMD
.CommandType = CommandType.Text
.CommandTimeout = AdoDB.ConnectionTimeout
.CommandText = AdoSQL.ToString
End With

AdoDA.SelectCommand = AdoCMD

Try
AdoDA.Fill(AdoDS, "HOGE_TABLE")
bRet = True
Catch ex As SqlException
bRet = False
End Try
End Using

If bRet Then
Using dt As DataTable = AdoDS.Tables("HOGE_TABLE")
If dt.Rows.Count > 0 Then

DataGridView1.Rows.Clear()

For Each dr As DataRow In dt.Rows
objDt(0) = CType(dr.Item("Hoge1"), Object)
objDt(1) = CType(dr.Item("Hoge2"), Object)
objDt(2) = CType(dr.Item("Hoge3"), Object)
objDt(3) = CType(dr.Item("Hoge4"), Object)
objDt(4) = CType(dr.Item("Hoge5"), Object)

DataGridView1.Rows.Add(objDt)
Next
End If
End Using
End If
End Using
End Using

AdoDB.Close()
End If
End Using

End Sub

以上。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -