VB中可以把一组控件用一个变量名字组合到一起,作为一个控件数组,然后引用index就可以操作了。前2天同学问asp.net下可以否!!后来另一个说可以定义控见数组,听起来可行,可没用过,试验,发现,好用极了!!
Protected form1 As HtmlForm
Protected chkArray(6) As CheckBox
Protected ddlArray(6) As DropDownList
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim sArray() As String = {"test1", "test2"}
For i = 0 To chkArray.Length - 1
chkArray(i) = New CheckBox
ddlArray(i) = New DropDownList
chkArray(i).ID = "chk" & i
ddlArray(i).ID = "ddl" & i
ddlArray(i).DataSource = sArray
ddlArray(i).DataBind()
'' 动态添加控件
form1.Controls.Add(chkArray(i))
form1.Controls.Add(ddlArray(i))
Next
End Sub
还有一个问题是做一个日历控件,在每一天都添加一组控件,实现象记事本一样的功能。找了好久代码,都没发现如何添加记事本得方法。后来发现这样可以得。简单极了,可同学不信,非要自己写table,然后自己加算法。麻烦!!!
这个比较简单
Private Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender
Dim c As TableCell
Dim d As CalendarDay
d = CType(e, DayRenderEventArgs).Day
c = CType(e, DayRenderEventArgs).Cell
If d.IsToday Then
''在今天添加一组控件
c.Controls.Add(New LiteralControl("<table><tr><td>"))
c.Controls.Contains(chkArray(0))
c.Controls.Add(New LiteralControl("<br>"))
c.Controls.Add(ddlArray(0))
c.Controls.Add(New LiteralControl("</td></tr></table>"))
End If
End Sub
还有一个问题是做一个日历控件,在每一天都添加一组控件,实现象记事本一样的功能。找了好久代码,都没发现如何添加记事本得方法。后来发现这样可以得。简单极了,可同学不信,非要自己写table,然后自己加算法。麻烦!!!
这个比较简单
浙公网安备 33010602011771号