Imports System Imports System.Text Imports System.IO Imports System.Data Imports System.Data.SqlClient Imports Microsoft.VisualBasic Imports System.Configuration
Public Class createformcode Inherits System.Web.UI.Page Protected WithEvents tblList As System.Web.UI.WebControls.DropDownList Protected WithEvents GetTable As System.Web.UI.WebControls.Button Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents myPanel As System.Web.UI.WebControls.Panel Protected WithEvents pnlTextarea As System.Web.UI.WebControls.Panel Protected WithEvents taResults As System.Web.UI.HtmlControls.HtmlTextArea
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub
#End Region Dim sqlText As String Dim ds As New DataSet() Dim dbComm As New SqlDataAdapter() Dim conn As SqlConnection Dim sqlServer As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load sqlServer = GetSqlConn() conn = New SqlConnection(sqlServer)
If Not IsPostBack Then sqlText = "select id, name from sysobjects where xtype='U' order by name" dbComm = New SqlDataAdapter(sqlText, conn) dbComm.Fill(ds, "AllTables") tblList.DataSource = ds.Tables("AllTables").DefaultView tblList.DataTextField = "name" tblList.DataValueField = "name" tblList.DataBind() End If
End Sub
Function CreateValidator(ByVal myName As String) As String Dim mySB As StringBuilder = New StringBuilder()
REM -- use :<some text>: as placeholders mySB.Append("<asp:RequiredFieldValidator runat=""server""id="":Name:"" ControlToValidate="":control:""ErrorMessage="":errMsg:""display=""Static"">This RequiredField!</asp:RequiredFieldValidator>")
mySB.Replace(":Name:", "vld" & myName) 'add the validator name mySB.Replace(":control:", "at" & myName) 'add the control name mySB.Replace(":errMsg:", myName & " is required")
Return mySB.ToString()
End Function
Function GetSqlConn() As String Dim DSN As String = ConfigurationSettings.AppSettings("DSN") Return DSN End Function
Sub GetTable_Click(ByVal sender As Object, ByVal e As EventArgs) Dim sqlText As String sqlText = "SELECT syscolumns.name, syscolumns.isnullable FROM sysobjects INNER JOINsyscolumns ON sysobjects.id = syscolumns.id where sysobjects.name = '" &tblList.SelectedItem.Text & "' ORDER BY syscolumns.colid"
REM -- Connect to SQL dbComm = New SqlDataAdapter(sqlText, conn)
REM -- Fill DataSet dbComm.Fill(ds, "TestData") MyDataGrid.DataSource = ds.Tables("TestData").DefaultView MyDataGrid.DataBind()
REM -- Show the results myPanel.Visible = True
End Sub
Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer Dim _item As DataGridItem Dim dr As DataRow Dim sb As StringBuilder = New StringBuilder() Dim strOutput As String
REM -- Auto Generate The Form sb.Append("<form runat=""server""id=""form2"" name=""form2"">" &Chr(13) & Chr(10)) sb.Append(" <table border=1>" & Chr(13))
For i = 0 To MyDataGrid.Items.Count - 1 REM -- Get the checkbox _item = MyDataGrid.Items(i) Dim addCheckBox As CheckBox = CType(_item.FindControl("chkAdd"), CheckBox) Dim validCheckBox As CheckBox = CType(_item.FindControl("chkValid"), CheckBox)
If addCheckBox.Checked Then sb.Append(" <tr>" & Chr(13)) sb.Append(" <td>" & _item.Cells(1).Text & "</td>"& Chr(13)) sb.Append(" <td>") sb.Append("<asp:textbox id=""at" & _item.Cells(1).Text &""" runat=""server"" />")
'create a validator control If validCheckBox.Checked Then sb.Append(" " & Chr(13) & CreateValidator(_item.Cells(1).Text)) End If
sb.Append("</td>" & Chr(13)) ' sb.Append(" </tr>" & Chr(13)) ' close out the row End If
Next sb.Append(" <tr>" & Chr(13)) ' close out the row sb.Append(" <td colspan=""2""><asp:buttonid=""button1"" Text=""Validate Form""runat=""Server"" /></td>" & Chr(13)) sb.Append(" </tr>" & Chr(13)) ' close out the row sb.Append(" </table>" & Chr(13)) sb.Append(Chr(13) & "</form>") strOutput = sb.ToString() strOutput = System.Web.HttpUtility.HtmlEncode(strOutput) taResults.Value = strOutput pnlTextarea.Visible = True End Sub
End Class
|