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 -