创建示例
<script type="text/javascript">loadTOCNode(2, 'summary');</script>
1.按照如下步骤创建一个新的 Visual Basic Windows 应用程序项目:
a. 启动 Microsoft Visual Studio .NET。b. 在文件菜单上,指向新建,然后单击项目。c. 在新建项目对话框中,单击对象类型下的 Visual Basic 项目,然后单击模板下的 Windows 应用程序。默认情况下将添加 Form1。 2.将一个 DataGrid 控件从工具箱到拖到 Form1。3.将下面的代码添加到代码窗口顶部的 Form1.vb 的“声明”部分中: Imports System.Data.SqlClient
Imports System.Windows.Forms
4.将下面的代码添加到代码窗口的“Windows 窗体设计器生成代码”部分之后:
Public
MyCombo
As
New
ComboBox()
Dim
con
As
New
SqlConnection(
"
server=myservername;uid=myid;pwd=mypassword;database=northwind
"
)
Dim
daEmp
As
New
SqlDataAdapter(
"
Select * From Employees
"
, con)
Public
ds
As
New
DataSet()
Private
Sub Form1_Load()
Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load AddHandler MyCombo.TextChanged, AddressOf Ctrls_TextChanged 'Fill ComboBox list. MyCombo.Name = "MyCombo" MyCombo.Visible = False MyCombo.Items.Clear() MyCombo.Items.Add("Sales Representative") MyCombo.Items.Add("Inside Sales Coordinator") MyCombo.Items.Add("Vice President, Sales") MyCombo.Items.Add("Sales Manager") MyCombo.Items.Add("Flunky") daEmp.Fill(ds, "Employees") 'Set the RowHeight of the DataGrid to the height of the ComboBox. DataGrid1.PreferredRowHeight = MyCombo.Height DataGrid1.DataSource = ds DataGrid1.DataMember = "Employees" 'Add ComboBox to the Control collection of the DataGrid. DataGrid1.Controls.Add(MyCombo) End Sub
Private
Sub DataGrid1_Paint()
Sub DataGrid1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGrid1.Paint If DataGrid1.CurrentCell.ColumnNumber = 3 Then MyCombo.Width = DataGrid1.GetCurrentCellBounds.Width End If End Sub
Private
Sub Ctrls_TextChanged()
Sub Ctrls_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) If DataGrid1.CurrentCell.ColumnNumber = 3 Then MyCombo.Visible = False If DataGrid1.Item(DataGrid1.CurrentCell) & "" = "" Then SendKeys.Send("*") End If DataGrid1.Item(DataGrid1.CurrentCell) = MyCombo.Text End If End Sub
Private
Sub DataGrid1_CurrentCellChanged()
Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged If DataGrid1.CurrentCell.ColumnNumber = 3 Then MyCombo.Visible = False MyCombo.Width = 0 MyCombo.Left = DataGrid1.GetCurrentCellBounds.Left MyCombo.Top = DataGrid1.GetCurrentCellBounds.Top MyCombo.Text = DataGrid1.Item(DataGrid1.CurrentCell) & "" MyCombo.Visible = True Else MyCombo.Visible = False MyCombo.Width = 0 End If End Sub
Private
Sub DataGrid1_Scroll()
Sub DataGrid1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Scroll MyCombo.Visible = False MyCombo.Width = 0 End Sub
Private
Sub DataGrid1_Click()
Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click MyCombo.Visible = False MyCombo.Width = 0 End Sub