表1
AA
BB
CC
DD
...
表2
aa
bb
cc
dd
...
想绑定到DataGrid显示
   AA BB CC DD ...
aa 
bb 
cc
dd
...
然后录入数据
保存到表3
aa AA 12
aa BB 13
aa CC 14
aa DD 15
...
dd AA 19
...我的想法是在后台代码动态生成一个DataGrid
但是这样总感觉不爽,很麻烦,而且保存也是个问题
不知道大家有没有更好的办法

解决方案 »

  1.   

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Put user code to initialize the page here
            Dim dl As New DataList
            dl.HeaderTemplate = New CreateDL(ListItemType.Header)
            dl.ItemTemplate = New CreateDL(ListItemType.Item)
            dl.AlternatingItemTemplate = New CreateDL(ListItemType.AlternatingItem)
            dl.FooterTemplate = New CreateDL(ListItemType.Footer)
            Dim d As New Data
            dl.DataSource = d.getTree
            dl.DataBind()
            div1.Controls.Add(dl)    End Sub Public Class CreateDL
        Implements ITemplate
        Shared itemcount As Integer = 0
        Dim TemplateType As ListItemType    Sub New(ByVal type As ListItemType)
            TemplateType = type
        End Sub    Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
            Dim lc As New Literal
            Select Case TemplateType
                Case ListItemType.Header
                    lc.Text = "<TABLE border=1><TR><TH>Items</TH></TR>"
                Case ListItemType.Item
                    lc.Text = "<TR><TD>Item number: " '& itemcount.ToString & "</TD></TR>"
                    AddHandler lc.DataBinding, AddressOf TemplateControl_Databinding
                Case ListItemType.AlternatingItem
                    lc.Text = "<TR><TD bgcolor=lightblue>Item number: " _
                       & itemcount.ToString & "</TD></TR>"
                Case ListItemType.Footer
                    lc.Text = "</TABLE>"
            End Select
            container.Controls.Add(lc)
            itemcount += 1
        End Sub
        Private Sub TemplateControl_DataBinding(ByVal sender As Object, _
           ByVal e As System.EventArgs)
            Dim lc As Literal
            lc = CType(sender, Literal)
            Dim container As DataListItem
            container = CType(lc.NamingContainer, DataListItem)
            lc.Text &= DataBinder.Eval(container.DataItem, "text")
            lc.Text &= "</TD></TR>"
        End Sub
    End Class
      

  2.   

    看来只能动态生成DataGrid了
    :(