我是VB初学者//
13 个解决方案
#1
有没有人帮我啊,,我找不到方法啊
#2
delete from table where column='" & msflexgrid.TextMatrix(msflexgrid.row,msflexgrid.col) & "'"
#3
什么意思啊?
删除MSFlexGrid上显示的数据:
MSFlexGrid.RemoveItem MSFlexGrid.Row
MSFlexGrid不能直接修改显示的数据
删除MSFlexGrid上显示的数据:
MSFlexGrid.RemoveItem MSFlexGrid.Row
MSFlexGrid不能直接修改显示的数据
#4
http://beyond19.51.net/123.jpg
就像这里画的一样,用什么连数据库,什么控件都不要紧,,只要能像上面网格显视。点击后可以删除,修改
等的操作//我刚学,谢谢大家的帮忙
就像这里画的一样,用什么连数据库,什么控件都不要紧,,只要能像上面网格显视。点击后可以删除,修改
等的操作//我刚学,谢谢大家的帮忙
#5
你可以试一下lgxgrid控件,下载地址:
http://lgxyslldw.512j.com
有比较详尽的技术支持文档.用这个控件,只要用lgxgrid1.DelRow (RowID)这一句就可以删除一行,RowId是要删除行的行号.
对于这个控件,你还可以到http://lgxyslldw.512j.com/lc/VB示例.rar下载这个控件的数据库应用示例.
http://lgxyslldw.512j.com
有比较详尽的技术支持文档.用这个控件,只要用lgxgrid1.DelRow (RowID)这一句就可以删除一行,RowId是要删除行的行号.
对于这个控件,你还可以到http://lgxyslldw.512j.com/lc/VB示例.rar下载这个控件的数据库应用示例.
#6
: lgxysl(我心欲静) 谢谢你。。。可是lgxgrid控件要用钱的啊,所以我还是不能作的///
#7
怎么都没有人来呢?是不是这个总是很难呢?
#8
****: lgxysl(我心欲静) 谢谢你。。。可是lgxgrid控件要用钱的啊,所以我还是不能作的///****
用不了多少钱,还不够到酒店吃一顿饭!
用不了多少钱,还不够到酒店吃一顿饭!
#9
“工程”-》“部件”-》"Microsoft DataGrid Control"
这个就是你要的那个!!!
你拖动它到窗体,然后右击点属性,在属性页中可以看到“允许修改”,“允许增加”,“允许删除”等复选框,框一下后就可以删除或修改等操作了。
至于和数据库绑定的话,需要用ADO控件或Recordset记录集对象,你可以搜索一下以前的帖子。
哈哈~~
钱倒是不必了,给分就谢了哦!
这个就是你要的那个!!!
你拖动它到窗体,然后右击点属性,在属性页中可以看到“允许修改”,“允许增加”,“允许删除”等复选框,框一下后就可以删除或修改等操作了。
至于和数据库绑定的话,需要用ADO控件或Recordset记录集对象,你可以搜索一下以前的帖子。
哈哈~~
钱倒是不必了,给分就谢了哦!
#10
Private Sub fgrid1_click() '单击MSFlexGrid
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub fgrid1_RowColChange()'用上下键在MSFlexGrid上选择
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub DeleteRecord()'删除
Dim I As Integer '
Dim Ssql As String
Dim response As String
response = MsgBox("真的删除当前记录?", vbInformation + vbYesNo, "警告")
If response = vbYes Then
Ssql = "delete from login where loginname='" & sphy & "'"
gcnLeaguers.Execute (Ssql)
MsgBox "删除成功!", vbInformation + vbOKOnly, "系统提示"
End If
Exit Sub
End Sub
删除后可能还要刷新一下,你试试吧
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub fgrid1_RowColChange()'用上下键在MSFlexGrid上选择
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub DeleteRecord()'删除
Dim I As Integer '
Dim Ssql As String
Dim response As String
response = MsgBox("真的删除当前记录?", vbInformation + vbYesNo, "警告")
If response = vbYes Then
Ssql = "delete from login where loginname='" & sphy & "'"
gcnLeaguers.Execute (Ssql)
MsgBox "删除成功!", vbInformation + vbOKOnly, "系统提示"
End If
Exit Sub
End Sub
删除后可能还要刷新一下,你试试吧
#11
MSDN上有现成的例子啊
去找一下吧
去找一下吧
#12
首先分析一下你的需求:只要求删除或修改你指定的行,意思就是让电脑知道你所在的行的行数,然后就好办了.
dim m as integer'////定义一个窗体级变量,
Private Sub MSFlexGrid1_Click()'鼠标点击事件
m = val(MSFlexGrid1.MouseRow)'///取得行数
If m < 1 Then'///////////////防止点在其他地方导致溢出
m = 1
End If
If MSFlexGrid1.rows > 1 Then'/////////显示选定行的内容到TextBox里以便修改
Frame1.Enabled = False
Text9.Text = MSFlexGrid1.TextMatrix(m, 0) 'id
Text1.Text = MSFlexGrid1.TextMatrix(m, 1) '帐号
Text2.text.Text = MSFlexGrid1.TextMatrix(m, 2) '密码
Command6.Enabled = True'/////////修改按纽变亮
Command7.Enabled = True'////////删除变亮
End If
End Sub
Private Sub Command6_Click()'///////////////////修改
....'////修改数据库代码略
MSFlexGrid1.TextMatrix(m, 1) = Trim(Text1.Text)
MSFlexGrid1.TextMatrix(m, 2) = Trim(Text2.Text)
MSFlexGrid1.Refresh
End Sub
Private Sub Command7_Click()'///////////////////删除
....'////删除数据库代码略
If MSFlexGrid1.row = MSFlexGrid1.rows - 1 Then
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
Else
DelGrid MSFlexGrid1
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
MSFlexGrid1.Refresh
End If
End Sub
Dim Sub DelGrid(strGrid As MSFlexGrid)'//////////一个删除网格的公用过程
Dim nero()
Dim ai As Integer
Dim xi As Integer
Dim yi As Integer
Dim zi As Integer
xi = strGrid.cols - 1
ReDim nero(xi)
For ai = strGrid.row + 1 To strGrid.rows - 1
strGrid.row = ai
For yi = 0 To strGrid.cols - 1
strGrid.col = yi
nero(yi) = strGrid
Next
strGrid.row = ai - 1
For zi = 0 To strGrid.cols - 1
strGrid.col = zi
strGrid = nero(zi)
Next
Next
End Sub
dim m as integer'////定义一个窗体级变量,
Private Sub MSFlexGrid1_Click()'鼠标点击事件
m = val(MSFlexGrid1.MouseRow)'///取得行数
If m < 1 Then'///////////////防止点在其他地方导致溢出
m = 1
End If
If MSFlexGrid1.rows > 1 Then'/////////显示选定行的内容到TextBox里以便修改
Frame1.Enabled = False
Text9.Text = MSFlexGrid1.TextMatrix(m, 0) 'id
Text1.Text = MSFlexGrid1.TextMatrix(m, 1) '帐号
Text2.text.Text = MSFlexGrid1.TextMatrix(m, 2) '密码
Command6.Enabled = True'/////////修改按纽变亮
Command7.Enabled = True'////////删除变亮
End If
End Sub
Private Sub Command6_Click()'///////////////////修改
....'////修改数据库代码略
MSFlexGrid1.TextMatrix(m, 1) = Trim(Text1.Text)
MSFlexGrid1.TextMatrix(m, 2) = Trim(Text2.Text)
MSFlexGrid1.Refresh
End Sub
Private Sub Command7_Click()'///////////////////删除
....'////删除数据库代码略
If MSFlexGrid1.row = MSFlexGrid1.rows - 1 Then
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
Else
DelGrid MSFlexGrid1
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
MSFlexGrid1.Refresh
End If
End Sub
Dim Sub DelGrid(strGrid As MSFlexGrid)'//////////一个删除网格的公用过程
Dim nero()
Dim ai As Integer
Dim xi As Integer
Dim yi As Integer
Dim zi As Integer
xi = strGrid.cols - 1
ReDim nero(xi)
For ai = strGrid.row + 1 To strGrid.rows - 1
strGrid.row = ai
For yi = 0 To strGrid.cols - 1
strGrid.col = yi
nero(yi) = strGrid
Next
strGrid.row = ai - 1
For zi = 0 To strGrid.cols - 1
strGrid.col = zi
strGrid = nero(zi)
Next
Next
End Sub
#13
1、删除选中的一行,我有一个另类的方法,就是将该行的行高设定为0,这样给用户的感觉是该行删除了,如果想撤销,恢复该行的行高就行了,退出保存数据的时候判断如果某一行的行高为0,就将改行数据从数据库中删除,具体代码要看你的数据库操作方式
2、修改选中的一行可以有两种方法
a、用一个textbox控件,鼠标点哪一格就将text移动(move)到哪一格,并将值赋给textbox,当鼠标移开的时候,将修改后的textbox的值再赋给原来的格,具体代码就不用罗嗦了
b、打开一个新窗体,将一行上的所有内容都用textbox显示在窗体上供用户修改,保存时候将tetxbox的值赋给对应的格即可
#1
有没有人帮我啊,,我找不到方法啊
#2
delete from table where column='" & msflexgrid.TextMatrix(msflexgrid.row,msflexgrid.col) & "'"
#3
什么意思啊?
删除MSFlexGrid上显示的数据:
MSFlexGrid.RemoveItem MSFlexGrid.Row
MSFlexGrid不能直接修改显示的数据
删除MSFlexGrid上显示的数据:
MSFlexGrid.RemoveItem MSFlexGrid.Row
MSFlexGrid不能直接修改显示的数据
#4
http://beyond19.51.net/123.jpg
就像这里画的一样,用什么连数据库,什么控件都不要紧,,只要能像上面网格显视。点击后可以删除,修改
等的操作//我刚学,谢谢大家的帮忙
就像这里画的一样,用什么连数据库,什么控件都不要紧,,只要能像上面网格显视。点击后可以删除,修改
等的操作//我刚学,谢谢大家的帮忙
#5
你可以试一下lgxgrid控件,下载地址:
http://lgxyslldw.512j.com
有比较详尽的技术支持文档.用这个控件,只要用lgxgrid1.DelRow (RowID)这一句就可以删除一行,RowId是要删除行的行号.
对于这个控件,你还可以到http://lgxyslldw.512j.com/lc/VB示例.rar下载这个控件的数据库应用示例.
http://lgxyslldw.512j.com
有比较详尽的技术支持文档.用这个控件,只要用lgxgrid1.DelRow (RowID)这一句就可以删除一行,RowId是要删除行的行号.
对于这个控件,你还可以到http://lgxyslldw.512j.com/lc/VB示例.rar下载这个控件的数据库应用示例.
#6
: lgxysl(我心欲静) 谢谢你。。。可是lgxgrid控件要用钱的啊,所以我还是不能作的///
#7
怎么都没有人来呢?是不是这个总是很难呢?
#8
****: lgxysl(我心欲静) 谢谢你。。。可是lgxgrid控件要用钱的啊,所以我还是不能作的///****
用不了多少钱,还不够到酒店吃一顿饭!
用不了多少钱,还不够到酒店吃一顿饭!
#9
“工程”-》“部件”-》"Microsoft DataGrid Control"
这个就是你要的那个!!!
你拖动它到窗体,然后右击点属性,在属性页中可以看到“允许修改”,“允许增加”,“允许删除”等复选框,框一下后就可以删除或修改等操作了。
至于和数据库绑定的话,需要用ADO控件或Recordset记录集对象,你可以搜索一下以前的帖子。
哈哈~~
钱倒是不必了,给分就谢了哦!
这个就是你要的那个!!!
你拖动它到窗体,然后右击点属性,在属性页中可以看到“允许修改”,“允许增加”,“允许删除”等复选框,框一下后就可以删除或修改等操作了。
至于和数据库绑定的话,需要用ADO控件或Recordset记录集对象,你可以搜索一下以前的帖子。
哈哈~~
钱倒是不必了,给分就谢了哦!
#10
Private Sub fgrid1_click() '单击MSFlexGrid
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub fgrid1_RowColChange()'用上下键在MSFlexGrid上选择
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub DeleteRecord()'删除
Dim I As Integer '
Dim Ssql As String
Dim response As String
response = MsgBox("真的删除当前记录?", vbInformation + vbYesNo, "警告")
If response = vbYes Then
Ssql = "delete from login where loginname='" & sphy & "'"
gcnLeaguers.Execute (Ssql)
MsgBox "删除成功!", vbInformation + vbOKOnly, "系统提示"
End If
Exit Sub
End Sub
删除后可能还要刷新一下,你试试吧
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub fgrid1_RowColChange()'用上下键在MSFlexGrid上选择
sphy = Trim(FGrid1.TextMatrix(FGrid1.Row, 0))
delrecord
End Sub
Private Sub DeleteRecord()'删除
Dim I As Integer '
Dim Ssql As String
Dim response As String
response = MsgBox("真的删除当前记录?", vbInformation + vbYesNo, "警告")
If response = vbYes Then
Ssql = "delete from login where loginname='" & sphy & "'"
gcnLeaguers.Execute (Ssql)
MsgBox "删除成功!", vbInformation + vbOKOnly, "系统提示"
End If
Exit Sub
End Sub
删除后可能还要刷新一下,你试试吧
#11
MSDN上有现成的例子啊
去找一下吧
去找一下吧
#12
首先分析一下你的需求:只要求删除或修改你指定的行,意思就是让电脑知道你所在的行的行数,然后就好办了.
dim m as integer'////定义一个窗体级变量,
Private Sub MSFlexGrid1_Click()'鼠标点击事件
m = val(MSFlexGrid1.MouseRow)'///取得行数
If m < 1 Then'///////////////防止点在其他地方导致溢出
m = 1
End If
If MSFlexGrid1.rows > 1 Then'/////////显示选定行的内容到TextBox里以便修改
Frame1.Enabled = False
Text9.Text = MSFlexGrid1.TextMatrix(m, 0) 'id
Text1.Text = MSFlexGrid1.TextMatrix(m, 1) '帐号
Text2.text.Text = MSFlexGrid1.TextMatrix(m, 2) '密码
Command6.Enabled = True'/////////修改按纽变亮
Command7.Enabled = True'////////删除变亮
End If
End Sub
Private Sub Command6_Click()'///////////////////修改
....'////修改数据库代码略
MSFlexGrid1.TextMatrix(m, 1) = Trim(Text1.Text)
MSFlexGrid1.TextMatrix(m, 2) = Trim(Text2.Text)
MSFlexGrid1.Refresh
End Sub
Private Sub Command7_Click()'///////////////////删除
....'////删除数据库代码略
If MSFlexGrid1.row = MSFlexGrid1.rows - 1 Then
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
Else
DelGrid MSFlexGrid1
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
MSFlexGrid1.Refresh
End If
End Sub
Dim Sub DelGrid(strGrid As MSFlexGrid)'//////////一个删除网格的公用过程
Dim nero()
Dim ai As Integer
Dim xi As Integer
Dim yi As Integer
Dim zi As Integer
xi = strGrid.cols - 1
ReDim nero(xi)
For ai = strGrid.row + 1 To strGrid.rows - 1
strGrid.row = ai
For yi = 0 To strGrid.cols - 1
strGrid.col = yi
nero(yi) = strGrid
Next
strGrid.row = ai - 1
For zi = 0 To strGrid.cols - 1
strGrid.col = zi
strGrid = nero(zi)
Next
Next
End Sub
dim m as integer'////定义一个窗体级变量,
Private Sub MSFlexGrid1_Click()'鼠标点击事件
m = val(MSFlexGrid1.MouseRow)'///取得行数
If m < 1 Then'///////////////防止点在其他地方导致溢出
m = 1
End If
If MSFlexGrid1.rows > 1 Then'/////////显示选定行的内容到TextBox里以便修改
Frame1.Enabled = False
Text9.Text = MSFlexGrid1.TextMatrix(m, 0) 'id
Text1.Text = MSFlexGrid1.TextMatrix(m, 1) '帐号
Text2.text.Text = MSFlexGrid1.TextMatrix(m, 2) '密码
Command6.Enabled = True'/////////修改按纽变亮
Command7.Enabled = True'////////删除变亮
End If
End Sub
Private Sub Command6_Click()'///////////////////修改
....'////修改数据库代码略
MSFlexGrid1.TextMatrix(m, 1) = Trim(Text1.Text)
MSFlexGrid1.TextMatrix(m, 2) = Trim(Text2.Text)
MSFlexGrid1.Refresh
End Sub
Private Sub Command7_Click()'///////////////////删除
....'////删除数据库代码略
If MSFlexGrid1.row = MSFlexGrid1.rows - 1 Then
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
Else
DelGrid MSFlexGrid1
MSFlexGrid1.rows = MSFlexGrid1.rows - 1
MSFlexGrid1.Refresh
End If
End Sub
Dim Sub DelGrid(strGrid As MSFlexGrid)'//////////一个删除网格的公用过程
Dim nero()
Dim ai As Integer
Dim xi As Integer
Dim yi As Integer
Dim zi As Integer
xi = strGrid.cols - 1
ReDim nero(xi)
For ai = strGrid.row + 1 To strGrid.rows - 1
strGrid.row = ai
For yi = 0 To strGrid.cols - 1
strGrid.col = yi
nero(yi) = strGrid
Next
strGrid.row = ai - 1
For zi = 0 To strGrid.cols - 1
strGrid.col = zi
strGrid = nero(zi)
Next
Next
End Sub
#13
1、删除选中的一行,我有一个另类的方法,就是将该行的行高设定为0,这样给用户的感觉是该行删除了,如果想撤销,恢复该行的行高就行了,退出保存数据的时候判断如果某一行的行高为0,就将改行数据从数据库中删除,具体代码要看你的数据库操作方式
2、修改选中的一行可以有两种方法
a、用一个textbox控件,鼠标点哪一格就将text移动(move)到哪一格,并将值赋给textbox,当鼠标移开的时候,将修改后的textbox的值再赋给原来的格,具体代码就不用罗嗦了
b、打开一个新窗体,将一行上的所有内容都用textbox显示在窗体上供用户修改,保存时候将tetxbox的值赋给对应的格即可