Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not Page.IsPostBack Then ' Employees テーブルを取得するために接続およびコマンドを設定します Dim con As New SqlConnection("Data Source=.\sqlexpress;Initial Catalog=Northwind;Integrated Security=True") Dim com As New SqlCommand("SELECT EmployeeID, FirstName, LastName, Title, ReportsTo FROM EMPLOYEES", con) ' データでデータセットを埋めるためにデータ アダプタを設定します Dim da As New SqlDataAdapter(com) Dim employees As New DataSet() con.Open() ' データを取得します da.Fill(employees, "Employees") con.Close() ' EmployeeID および ReportsTo 列で同じテーブルにデータの関係を設定します Dim rel As New DataRelation("Employees", employees.Tables("Employees").Columns("EmployeeID"), employees.Tables("Employees").Columns("ReportsTo")) employees.Relations.Add(rel) ' テーブルのプライマリ キー フィールドを設定します employees.Tables("Employees").PrimaryKey = New DataColumn() {employees.Tables("Employees").Columns("EmployeeID")} ' セッション状態でデータを保存します Me.Session("Employees") = employees Me.WebHierarchicalDataGrid2.IsSelfReference = True Me.WebHierarchicalDataGrid2.MaxDataBindDepth = 2 End If ' TODO: set up data binding End Sub