在DataGrid中加入模板列,然后你想显示什么控件都可以。另外,以前有很多实现这种功能的帖子。

解决方案 »

  1.   

    你也可以把程序写在aspx页面,和asp可以一样的使用,和以前可以一样的
    还有一种方法,我自己做过一个 动态生成控件 的 页面
      

  2.   

    我给你例子你 看看,是动态产生table,写的不好,你改改  '按照cmchillcircle得出的纪录打出表格并插入到第三行        While drchildcircle.Read
                Dim crow As New HtmlTableRow()
                Dim ccell1 As New HtmlTableCell()
                Dim ccell2 As New HtmlTableCell()
                Dim ccell3 As New HtmlTableCell()            ccell1.InnerText = drchildcircle("subcode").ToString
                ccell1.ColSpan = 3
                ccell1.Align = "center"
                crow.Cells.Add(ccell1)
                ccell2.InnerText = drchildcircle("qty").ToString
                ccell2.ColSpan = 3
                ccell2.Align = "center"
                crow.Cells.Add(ccell2)
                ccell3.InnerText = drchildcircle("qty").ToString
                ccell3.ColSpan = 3
                ccell3.Align = "center"
                crow.Cells.Add(ccell3)
                Me.Table2.Rows.Insert(Me.Table2.Rows.Count - 3, crow)
            End While
      

  3.   

    那你就动态的加控件了。.NET帮助里有。
      

  4.   

    但如果这样做,页面和程还不是一起,那和asp的用法没什么分别啦!
    我希望有方法可以使页面和程分离,但又可以动态显示的!
      

  5.   

    动态生成abound - 1组个控件 
    Dim y = 200
                For i = 0 To abound - 1
                    Dim lbl0 As New Label()
                    Dim lbl1 As New Label()
                    Dim tbx1 As New TextBox()
                    Dim lbl2 As New Label()
                    Dim ddl2 As New DropDownList()
                    Dim lbl3 As New Label()
                    Dim ddl3 As New DropDownList()
                    Dim lbl4 As New Label()
                    Dim ddl4 As New DropDownList()
                    Dim lbl5 As New Label()
                    Dim ddl5 As New DropDownList()
                    Dim lbl6 As New Label()
                    Dim ddl6 As New DropDownList()
                    Dim lbl7 As New Label()
                    Dim tbx7 As New TextBox()
                    Dim lbl8 As New Label()
                    Dim tbx8 As New TextBox()
                    Dim lbl9 As New Label()
                    Dim tbx9 As New TextBox()
                    Dim myDataAdapter As New SqlClient.SqlDataAdapter()                Dim ds As DataSet = New DataSet()
                    lbl0.Text = "第" & i + 1 & "个设备"
                    lbl0.ForeColor = Color.Red
                    lbl0.Style("POSITION") = "absolute"
                    lbl0.Style("top") = 198 + i * y & "px"
                    lbl0.Style("left") = "15px"                lbl1.Text = "设备工艺编号"
                    lbl1.Style("POSITION") = "absolute"
                    lbl1.Style("top") = 226 + i * y & "px"
                    lbl1.Style("left") = "15px"                tbx1.ID = "设备工艺编号" & i
                    tbx1.Style("POSITION") = "absolute"
                    tbx1.Style("top") = 220 + i * y & "px"
                    tbx1.Style("left") = "99px"
                    tbx1.Text = myArray(i)
                    tbx1.Enabled = False                myDataAdapter.SelectCommand = New SqlClient.SqlCommand("select * from 设备信息主表 where 设备工艺编号='" & myArray(i) & "'", DeviceConnection)
                    myDataAdapter.Fill(ds, "设备备件关系表")                lbl2.Text = "检修任务" & 1
                    lbl2.Style("POSITION") = "absolute"
                    lbl2.Style("top") = 257 + i * y & "px"
                    lbl2.Style("left") = "15px"
                    lbl2.Style("width") = "55px"                ddl2.ID = "检修任务" & 1 & i
                    ddl2.Style("POSITION") = "absolute"
                    ddl2.Style("top") = 254 + i * y & "px"
                    ddl2.Style("left") = "99px"                lbl3.Text = "检修任务" & 2
                    lbl3.Style("POSITION") = "absolute"
                    lbl3.Style("top") = 257 + i * y & "px"
                    lbl3.Style("left") = "196px"
                    lbl3.Style("width") = "55px"                ddl3.ID = "检修任务" & 2 & i
                    ddl3.Style("POSITION") = "absolute"
                    ddl3.Style("top") = 254 + i * y & "px"
                    ddl3.Style("left") = "276px"                lbl4.Text = "检修任务" & 3
                    lbl4.Style("POSITION") = "absolute"
                    lbl4.Style("top") = 257 + i * y & "px"
                    lbl4.Style("left") = "374px"
                    lbl4.Style("width") = "55px"                ddl4.ID = "检修任务" & 3 & i
                    ddl4.Style("POSITION") = "absolute"
                    ddl4.Style("top") = 254 + i * y & "px"
                    ddl4.Style("left") = "458px"                lbl5.Text = "检修任务" & 4
                    lbl5.Style("POSITION") = "absolute"
                    lbl5.Style("top") = 257 + i * y & "px"
                    lbl5.Style("left") = "555px"
                    lbl5.Style("width") = "55px"                ddl5.ID = "检修任务" & 4 & i
                    ddl5.Style("POSITION") = "absolute"
                    ddl5.Style("top") = 254 + i * y & "px"
                    ddl5.Style("left") = "638px"                lbl6.Text = "检修任务" & 5
                    lbl6.Style("POSITION") = "absolute"
                    lbl6.Style("top") = 257 + i * y & "px"
                    lbl6.Style("left") = "738px"
                    lbl6.Style("width") = "55px"                ddl6.ID = "检修任务" & 5 & i
                    ddl6.Style("POSITION") = "absolute"
                    ddl6.Style("top") = 254 + i * y & "px"
                    ddl6.Style("left") = "829px"                lbl7.Text = "检修理由及要求"
                    lbl7.Style("POSITION") = "absolute"
                    lbl7.Style("top") = 289 + i * y & "px"
                    lbl7.Style("left") = "15px"                tbx7.ID = "检修理由及要求" & i
                    tbx7.Style("POSITION") = "absolute"
                    tbx7.Style("top") = 318 + i * y & "px"
                    tbx7.Style("left") = "15px"
                    tbx7.TextMode = TextBoxMode.MultiLine                lbl8.Text = "所需备件及材料"
                    lbl8.Style("POSITION") = "absolute"
                    lbl8.Style("top") = 289 + i * y & "px"
                    lbl8.Style("left") = "205px"                tbx8.ID = "所需备件及材料" & i
                    tbx8.Style("POSITION") = "absolute"
                    tbx8.Style("top") = 318 + i * y & "px"
                    tbx8.Style("left") = "205px"
                    tbx8.TextMode = TextBoxMode.MultiLine                lbl9.Text = "备注"
                    lbl9.Style("POSITION") = "absolute"
                    lbl9.Style("top") = 289 + i * y & "px"
                    lbl9.Style("left") = "394px"                tbx9.ID = "备注" & i
                    tbx9.Style("POSITION") = "absolute"
                    tbx9.Style("top") = 318 + i * y & "px"
                    tbx9.Style("left") = "394px"
                    tbx9.TextMode = TextBoxMode.MultiLine                Response.Write("<HR style='Z-INDEX: 121; LEFT: 18px; POSITION: absolute; TOP:" & 380 + i * y & "px' width='100%' SIZE='1'>")
                    Me.Controls(1).Controls.Add(lbl0)
                    Me.Controls(1).Controls.Add(lbl1)
                    Me.Controls(1).Controls.Add(tbx1)
                    Me.Controls(1).Controls.Add(lbl2)
                    Me.Controls(1).Controls.Add(ddl2)
                    Me.Controls(1).Controls.Add(lbl3)
                    Me.Controls(1).Controls.Add(ddl3)
                    Me.Controls(1).Controls.Add(lbl4)
                    Me.Controls(1).Controls.Add(ddl4)
                    Me.Controls(1).Controls.Add(lbl5)
                    Me.Controls(1).Controls.Add(ddl5)
                    Me.Controls(1).Controls.Add(lbl6)
                    Me.Controls(1).Controls.Add(ddl6)
                    Me.Controls(1).Controls.Add(lbl7)
                    Me.Controls(1).Controls.Add(tbx7)
                    Me.Controls(1).Controls.Add(lbl8)
                    Me.Controls(1).Controls.Add(tbx8)
                    Me.Controls(1).Controls.Add(lbl9)
                    Me.Controls(1).Controls.Add(tbx9)                If ds.Tables(0).Rows.Count <> 0 Then
                        Dim find As System.Xml.XmlNode
                        find = find_xml(ds.Tables(0).Rows(0).Item("设备大类"), "Class")
                        Dim findsub As System.Xml.XmlNodeList
                        Dim j
                        ddl2.Items.Add("请选择")
                        ddl3.Items.Add("请选择")
                        ddl4.Items.Add("请选择")
                        ddl5.Items.Add("请选择")
                        ddl6.Items.Add("请选择")
                        If Not find Is Nothing Then
                            findsub = find.ChildNodes
                            For j = 0 To findsub.Count - 1
                                ddl2.Items.Add(findsub.Item(j).Attributes(0).InnerText)
                                ddl3.Items.Add(findsub.Item(j).Attributes(0).InnerText)
                                ddl4.Items.Add(findsub.Item(j).Attributes(0).InnerText)
                                ddl5.Items.Add(findsub.Item(j).Attributes(0).InnerText)
                                ddl6.Items.Add(findsub.Item(j).Attributes(0).InnerText)
                            Next
                        End If
                    End If
                Next