繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 如何在DataGrid中添加ComboBox的方法

如何在DataGrid中添加ComboBox的方法

2007-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:有两中方法: 1.修改 ColumnStyles 属性的值. 2.在DataGrid里, 直接贴 Combo 控件. 如: Public MyCombo As New ComboBox() Dim con As New SqlConnection("server=myservername;uid=myid;pwd=mypassword;dat...
关键字:ComboBox DataGrid 方法

有两中方法:

1.修改 ColumnStyles 属性的值.

2.在DataGrid里, 直接贴 Combo 控件. 如:

Public MyCombo As New ComboBox()

Dim con As New

SqlConnection("server=myservername;uid=myid;pwd=mypassword;database=northwin

d")

Dim daEmp As New SqlDataAdapter("Select * From Employees", con)

Public ds As New DataSet()

Private 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(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(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(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(ByVal sender As Object, ByVal e As

System.EventArgs) Handles DataGrid1.Scroll

MyCombo.Visible = False

MyCombo.Width = 0

End Sub

Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As

System.EventArgs) Handles DataGrid1.Click

MyCombo.Visible = False

MyCombo.Width = 0

End Sub

============================

更多资料请查MSDN.

责任编辑:admin
相关文章