 |
-
Powered by

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create form Wizard using Code-Behind
This is a updated demo to create form wizard using an aspx page
and code-behind in VB.NET
<%@ Page Language="vb" EnableSessionState="False" EnableViewState="True"
Trace="False" Debug="False" Inherits="createformcode" src="createformcode.vb"
%>
<HTML>
<HEAD>
<title></title>
</HEAD>
<body bgcolor="#ffffff">
<form runat="server" id="form1">
Select a tablename to create a .NET form for:
<asp:dropdownlist id="tblList" runat="server" />
<asp:Button id="GetTable" Text="Get Table" onclick="GetTable_Click"
runat="server" />
<asp:panel id="myPanel" runat="server" visible="false"><BR>Select the
Columns used for generating the form.
<asp:datagrid id="MyDataGrid" runat="server" AutoGenerateColumns="False"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana"
CellPadding="3" BorderWidth="1" BorderColor="black">
<Columns>
<asp:TemplateColumn HeaderText="Add?">
<ItemTemplate>
<asp:CheckBox id="chkAdd" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderText="Name" DataField="name" />
<asp:TemplateColumn HeaderText="Create Validator?">
<ItemTemplate>
<asp:CheckBox id="chkValid" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
<asp:Button id="Button1" onclick="btnSubmit_Click" runat="server"
Text="Create Form"></asp:Button> </asp:panel>
<asp:panel id="pnlTextarea" visible="false" runat="server">
<P>Copy this code into a new ASP.NET page</P>
<TEXTAREA id="taResults" name="taResults" rows="40" cols="90" runat="server">
</asp:panel> </form> </body> </html>
</TEXTAREA>
</asp:panel>
</form>
</body>
</HTML>
|
|
asdf
Imports System
Imports System.Text
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.HTMLControls
Imports Microsoft.VisualBasic
Public Class createformcode: Inherits System.Web.UI.Page
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents taResults As System.Web.UI.HtmlControls.HtmlTextArea
Protected WithEvents pnlTextarea As System.Web.UI.WebControls.Panel
Protected WithEvents myPanel As System.Web.UI.WebControls.Panel
Protected WithEvents tblList As System.Web.UI.WebControls.DropDownList
Protected WithEvents GetTable As System.Web.UI.WebControls.Button
Protected WithEvents btnSubmit As System.Web.UI.WebControls.Button
Dim sqlText As String
Dim ds As New DataSet()
Dim dbComm As New SqlDataAdapter()
Dim conn As SqlConnection
Dim sqlServer As String
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.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 Required Field!</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 JOIN syscolumns 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
Public Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As
System.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>")
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(" " & vbCrLf & 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:button id=""button1"" Text=""Validate
Form"" runat=""Server"" /></td>" & vbCrLf)
sb.Append(" </tr>" & chr(13)) ' close out the row
sb.Append(" </table>" & chr(13))
sb.Append(vbCrLf & "</form>")
strOutput = sb.ToString()
strOutput = System.Web.HttpUtility.HtmlEncode(strOutput)
taResults.Value = strOutput
pnlTextarea.Visible = True
End Sub
Private Sub InitializeComponent()
End Sub
End Class
|
|
|
tio |