求VB.net datagrid 控件的使用方法(入门级) 150

要求入门级,我不知道怎么建立一个表格,好像根本没有想VB里面的volumn(*),怎么做个表格出来啊,然后绑定一个数组。datagrid能够单独使用吗,还是要放其他控件进... 要求入门级,我不知道怎么建立一个表格,好像根本没有想VB里面的volumn(*) ,怎么做个表格出来啊,然后绑定一个数组。
datagrid 能够单独使用吗,还是要放其他控件进去啊
展开
 我来答
majunbopm
2008-06-27 · TA获得超过832个赞
知道小有建树答主
回答量:1027
采纳率:0%
帮助的人:1035万
展开全部
Dim tab1 As String
Dim DS As New DataSet
Dim SqlStr As String

Dim DTS_A As New DataGridTableStyle
Dim Col_A1, Col_A2, Col_A3 As New DataGridTextBoxColumn
Dim Col_bo As New DataGridBoolColumn
'DS.Tables("tab1").Columns.Add("check", System.Type.GetType("System.Boolean"))
'DS.Tables("tab1").Columns("check").DefaultValue = False

Dim Col_A() As DataGridColumnStyle = {Col_bo, Col_A1, Col_A2, Col_A3}

'主窗口
Private Sub fICitem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

ProgressBar1.Hide()
grdStyles("tab1")
SQLConn(conn)

Dim i As Integer
'Dim arr As New ArrayList
SqlStr = "SELECT ID, diqu, dname FROM a_diqu Order by ID"
If Not SQLFill(conn, DA, DS, SqlStr, "diqu") Then
MsgBox("服务器连接失败")
Else
Dim dr As DataRow
For Each dr In DS.Tables("diqu").Rows
'arr.Add(dr("diqu") & "." & dr("dname"))
cmbDiqu.Items.Add(dr("diqu") & "." & dr("dname"))
Next
End If
'cmbDiqu.DataSource = arr
cmbDiqu.SelectedIndex = -1
cmbDiqu.Text = ""
End Sub

'DataGrid格式
Private Sub grdStyles(ByVal tab As String)
Dim ii1 As Integer
Dim DTS_A1() As String = {"check", "fshortnumber", "fnumber", "fplanprice"}
Dim DTS_A2() As String = {"检查框", "货号", "上市月份", "单价"}
Dim DTS_A3() As Integer = {50, 120, 120, 120} '长度
Dim DTS_A4() As Integer = {2, 0, 2, 1} '对齐方式
DTS_A.MappingName = tab
DTS_A.GridColumnStyles.Clear()
DTS_A.AllowSorting = True
DTS_A.ReadOnly = True
DTS_A.BackColor = Color.DarkGray
DTS_A.AlternatingBackColor = Color.LightGray

For ii1 = 0 To DTS_A1.Length - 1
Col_A(ii1).MappingName = DTS_A1(ii1)
Col_A(ii1).HeaderText = DTS_A2(ii1)
Col_A(ii1).Width = DTS_A3(ii1)
Col_A(ii1).NullText = ""
Col_A(ii1).Alignment = DTS_A4(ii1)
Next
DTS_A.GridColumnStyles.AddRange(Col_A)
grdItem.TableStyles.Add(DTS_A)
grdItem.ReadOnly = True
End Sub

Private Sub fICitem_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
SQLClose(conn)
End Sub

'显示表单
Private Sub Show1()
grdStyles("tab1")
txtNum.Text = Trim(txtNum.Text)
grdItem.DataSource = Nothing

SQLStr = "select * from t_icitem_new"
SQLStr &= " where fshortnumber like '" & txtNum.Text & "%'"
SQLStr &= " order by fshortnumber"
SQLFill(conn, DA, DS, SQLStr, tab1)

grdItem.CaptionText = "货号资料"
grdItem.DataSource = DS.Tables(tab1)

ShowRow()

End Sub

'数据同步显示
Private Sub ShowRow()
Dim dr As DataRow
If DS.Tables(tab1).Rows.Count > 0 Then
If grdItem.CurrentRowIndex < DS.Tables(tab1).Rows.Count Then
grdItem.CaptionText = grdItem.CurrentRowIndex + 1 & "/" & DS.Tables(tab1).Rows.Count
dr = DS.Tables(tab1).Rows(grdItem.CurrentRowIndex)
txtNum.Text = dr.Item("fshortnumber")
txtPrice.Text = dr.Item("fplanprice")
cmbMonth.Text = dr.Item("fnumber")
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If
Else
txtNum.Text = ""
txtPrice.Text = ""
cmbMonth.Text = ""
End If

End Sub

Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub

'鼠标选定行
Private Sub grdItem_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdItem.CurrentCellChanged
ShowRow()
End Sub

Private Sub btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnSelect.Click, btnUpdate.Click, btnInsert.Click, btnDelete.Click

Select Case sender.name
Case "btnSelect" '查询
Show1()
Case "btnUpdate" '修改
SUpdate()
Case "btnInsert" '新增
SInsert()
Case "btnDelete" '删除
SDelete()
End Select

End Sub

'修改
Private Sub SUpdate()

txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)

If MsgBox("确定更新?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
SQLStr = "UPDATE t_icitem_new SET "
SQLStr &= "fnumber='" & cmbMonth.SelectedItem & "', "
SQLStr &= "fplanprice='" & txtPrice.Text & "' "
SQLStr &= "WHERE fshortnumber='" & txtNum.Text & "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,更新失败:(")
End If
Show1()
End If

End Sub

'新增
Private Sub SInsert()

txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)

If MsgBox("确定新增?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

SQLStr = "SELECT fshortnumber "
SQLStr &= "FROM t_icitem_new "
SQLStr &= "WHERE fshortnumber = '" & txtNum.Text & "' "
SQLFill(conn, DA, DS, SQLStr, "Tmp")

If DS.Tables("Tmp").Rows.Count = 0 Then '如果没有资料则新增
SQLStr = "INSERT INTO t_icitem_new (fshortnumber,fnumber,fplanprice) VALUES("
SQLStr &= "'" & txtNum.Text & "', "
SQLStr &= "'" & cmbMonth.SelectedItem & "', "
SQLStr &= "'" & txtPrice.Text & "')"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,新增失败:(")
End If
Show1()
Else
MsgBox("资料已存在")
End If

End If

End Sub

'删除
Private Sub SDelete()

txtNum.Text = Trim(txtNum.Text)
txtPrice.Text = Trim(txtPrice.Text)

If MsgBox("确定删除" & txtNum.Text & "?", MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2) = MsgBoxResult.Yes Then
SQLStr = "DELETE FROM t_icitem_new "
SQLStr &= "WHERE fshortnumber='" & txtNum.Text & "'"
If Not SQLFill2(conn, SQLStr) Then
MsgBox("抱歉,删除失败:(")
End If
Show1()
End If

'键盘顺序
Private Sub txt_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles txtFshop.KeyDown, txtItem.KeyDown

Select Case e.KeyCode
Case Keys.Return
SendKeys.Send("{TAB}")
Case Keys.Right
SendKeys.Send("{TAB}")
Case Keys.Left
SendKeys.Send("+{TAB}")
Case Keys.Down
SendKeys.Send("{TAB 10}")
Case Keys.Up
SendKeys.Send("+{TAB 10}")
End Select

End Sub
zxlsjc
2008-06-27 · 超过32用户采纳过TA的回答
知道答主
回答量:244
采纳率:0%
帮助的人:111万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb0ede766
2008-06-27 · 超过11用户采纳过TA的回答
知道答主
回答量:195
采纳率:0%
帮助的人:0
展开全部
d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式