關于DataGrid和treeView的問題

Ljat 2003-10-20 07:08:08
1 DataGrid是自己寫數據庫連接﹐我現在設置一個command1﹐按了以后﹐自動會向數據庫添加新的記錄﹐請問怎么樣實現??8要告訴偶去用Data控件哦﹗

2﹐怎么樣用treeView做成資源管理器一模一樣的﹐就是說相同的節點貼的圖片并不一樣。要做成一模一樣哦。

解決問題者﹐謝﹗并可以加給分﹗
...全文
81 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunzhiying888 2003-11-01
  • 打赏
  • 举报
回复
学习下这个控件,谢谢
mingtian2008 2003-10-31
  • 打赏
  • 举报
回复
daisy8675(莫依) 我可以送一个 QQ给你 你需要吗 ?
daisy8675 2003-10-27
  • 打赏
  • 举报
回复
好啊﹐咱們交流交流﹐偶沒有QQ也沒有MSN,更加沒有aim﹐你准備拿什么交留。

如果你覺得好﹐做個example。celinery@yahoo.com
發過來給某看看那。
mingtian2008 2003-10-27
  • 打赏
  • 举报
回复
daisy8675(莫依) 你 错了 ,我用过Data 我一开始也是用他,我感觉不方便呀?
你说:无法改变入径 我为什么可以改变呢? 我感觉各自有他自己的优点。我也不跟你挣了。
希望能有交流的机会呀 ?
daisy8675 2003-10-27
  • 打赏
  • 举报
回复
mingtian2008(明天) 等你學會自己寫連接了﹐就8會這么想啦。

而且一般象上面這么寫很容易被看﹐而且路徑沒有辦法改變﹐真正的是寫card,ini咯。

快結貼了﹐就快了。。。。。

偶只是想知道怎么樣才能讓listview整行變色。
itlive 2003-10-25
  • 打赏
  • 举报
回复
up
mingtian2008 2003-10-25
  • 打赏
  • 举报
回复

Ljat(ljat) 楼主 大家都给你回答了 你为什么也不回复呀 ?

daisy8675(莫莫) 我还是 感觉data 不好用 因为我是用ado连的呀 ?

AresChen 2003-10-23
  • 打赏
  • 举报
回复
找到了,是实现003的函数:GetFolderByAPI,你参考一下吧。
后面几个函数是关于Listview和Treeview的,我只把自己写的一个枚举copy过来了,其他的常数、消息的定义你可以在VC中去查找。

Public Enum LVW_EX_Style
LVS_EX_GRIDLINES = &H1&
LVS_EX_SUBITEMIMAGES = &H2&
LVS_EX_CHECKBOXES = &H4&
LVS_EX_TRACKSELECT = &H8&
LVS_EX_HEADERDRAGDROP = &H10&
LVS_EX_FULLROWSELECT = &H20&
LVS_EX_ONECLICKACTIVATE = &H40&
LVS_EX_TWOCLICKACTIVATE = &H80&
LVS_EX_FLATSB = &H100&
LVS_EX_REGIONAL = &H200&
LVS_EX_INFOTIP = &H400&
LVS_EX_UNDERLINEHOT = &H800&
LVS_EX_UNDERLINECOLD = &H1000&
LVS_EX_MULTIWORKAREAS = &H2000&
End Enum

Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type

Const BIF_RETURNONLYFSDIRS = 1
Const BIF_DONTGOBELOWDOMAIN = 2
Const BIF_RETURNFSANCESTORS = 8
Const BIF_EDITBOX = &H10
Const BIF_BROWSEINCLUDEFILES = &H4000

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long


Public Function GetFolderByAPI(ByVal hwnd As Long, ByVal strTitle As String) As String
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo

szTitle = strTitle
With tBrowseInfo
.hWndOwner = hwnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With

lpIDList = SHBrowseForFolder(tBrowseInfo)

If lpIDList <> 0 Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
If Right$(sBuffer, 1) <> "\" Then sBuffer = sBuffer & "\"
Else
sBuffer = ""
End If

GetFolderByAPI = sBuffer
End Function

Public Function SetTreeviewBKColor(ByVal hwnd As Long, ByVal New_BKColor As Long) As Long
Dim lngStyle As Long

Call SendMessage(hwnd, TVM_SETBKCOLOR, 0, ByVal New_BKColor)

lngStyle = GetWindowLong(hwnd, GWL_STYLE)
Call SetWindowLong(hwnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Call SetWindowLong(hwnd, GWL_STYLE, lngStyle)
End Function

Public Function SetTreeviewTextColor(ByVal hwnd As Long, ByVal New_TextColor As Long) As Long
Dim lngStyle As Long

Call SendMessage(hwnd, TVM_SETTEXTCOLOR, 0, ByVal New_TextColor)

lngStyle = GetWindowLong(hwnd, GWL_STYLE)
Call SetWindowLong(hwnd, GWL_STYLE, lngStyle - TVS_HASLINES)
Call SetWindowLong(hwnd, GWL_STYLE, lngStyle)
End Function

Public Function SetListViewExtendStyle(ByVal hwnd As Long, ByVal New_Style As LVW_EX_Style) As Long
Dim lStyle As Long

lStyle = SendMessage(hwnd, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
lStyle = lStyle Or New_Style
SetListViewExtendStyle = SendMessage(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ByVal New_Style)
End Function
AresChen 2003-10-23
  • 打赏
  • 举报
回复
001这张图,不知道是因为你就贴了这么多还是我的毛病,只有一小条,不过,应该是Treeview没有问题,在上面的arikejiang()给的程序中,只要在treeview里加上一个对ImageList的引用,然后Nodes.Add方法的参数中加上图片的索引,就可以完成001这张图的效果。
002这张图~~~我也不知道是什么东西,估计是属于Button Array或者自定义的控件,问题是他的作用是什么。
003,呵呵,好像我们在使用Windows的时候经常会碰见嘛~~~如果不是自定义的控件~~~一般不是,除非象我早些年似,一点API都不会,使用API就可以直接调用Windows中同样的窗口,其目的是返回一个目录或者返回一个文件。嗯~~~例子嘛,找找看吧,我手头肯定有,但不知道搁哪了,找到了给你。
daisy8675 2003-10-23
  • 打赏
  • 举报
回复
各位﹐問題如圖﹕
不用datagrid這個控件太麻煩﹐偶一向就不太用data去連接。

看看下面二張圖紙吧。

http://www.freewebs.com/lvyun/images/001.jpg
這是treeview相同節點的圖象不同。。。。

http://www.freewebs.com/lvyun/images/003.jpg
我要知道這個圖上是什么控件。

老天爺﹐那位來看看這又是什么和什么控件組成的。
http://www.freewebs.com/lvyun/images/002.jpg

AresChen 2003-10-23
  • 打赏
  • 举报
回复
至于你提的第一个问题,我理解你的意思是你在一个表格上把数据库中的数据显示出来,然后在上面直接修改,希望修改完成之后把修改过的数据写回到数据库中,不知道是不是这个意思?
设置个标志不就可以了吗,哪一行修改过,则给这行置个标志。DataGrid、FlexGrid一类的Grid控件好像都有itemdata这一类的属性,我记不太清了,当然也可以隐藏起来一列或几列作为标志列,但如果是单纯的记录是否修改过的话,我建议将这一行的文字加黑或换个颜色(不知道DataGrid可不可以),既直接,用户看起来也方便。
AresChen 2003-10-22
  • 打赏
  • 举报
回复
?????
arikejiang() 说的的确是Treeview实现Explorer的基本思路啊?只是没有图片。如何在treeview中加图片,msdn中有非常详细的帮助,为什么不看看哪?
你要的到底是什么?如果说真的自己想作一个explorer的treeview,包括桌面、网上邻居等,那是比较麻烦,牵涉到namespace的问题,可以在msdn中查namespace关键字,然后自己仔细看一下。
明确说出你的需求,我倒是有模拟explorer的代码。
daisy8675 2003-10-22
  • 打赏
  • 举报
回复
沒有人知道??????T上去
daisy8675 2003-10-21
  • 打赏
  • 举报
回复
哎~~~~~~無語言狀態。

誰知道treeview做資源管理器。只能這樣問了。

偶看代碼好啦
flc 2003-10-20
  • 打赏
  • 举报
回复
xuexi
mingtian2008 2003-10-20
  • 打赏
  • 举报
回复
你用Ado 连接

你先到(Project)工程中 (References)里引用一个类
Microsoft Actvex Data Objects 2.0 Library (2.0 就可以了)

Public con As Connection
Public re As Recordset

Public Sub ConRe() ‘自己定义的 过程
Set con = New Connection
Set re = New Recordset

Path = App.Path
If Right(Path, 1) <> "\" Then Path = Path & "\"
Path = Path & "db1.mdb" '"你的数据库名.mdb"
con.CursorLocation = adUseClient
con.Open "provider=Microsoft.JET.OlEDB.4.0 ; data source= " & Path

End Sub

Private Sub Command1_Click()
Call ConRe

re.Open "insert into 你的表名 values (字段1,'字段2')", con, _须一行
adOpenDynamic, adLockBatchOptimistic
‘ 字段1 是数字,字段2 是文本
End Sub

我已经试过好用
Ljat 2003-10-20
  • 打赏
  • 举报
回复
樓上的﹐請看清楚我的問題。

我的treeview早做出來﹐但是我希望和資源管理器一樣﹐解決節點圖片的問題。
arikejiang 2003-10-20
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim ndd As Node
'biaozun.Show
biaozun.Left = 50
biaozun.Top = 1000
Set ndd = TreeView1.Nodes.Add(, , "gongjulan", "物流")
Set ndd = TreeView1.Nodes.Add("gongjulan", tvwChild, "kehu", "编辑")
Set ndd = TreeView1.Nodes.Add("gongjulan", tvwChild, "chaxun", "查询")
Set ndd = TreeView1.Nodes.Add("gongjulan", tvwChild, "baobiao", "报表")
Set ndd = TreeView1.Nodes.Add("gongjulan", tvwChild, "exit", "退出")
Set ndd = TreeView1.Nodes.Add("kehu", tvwChild, "shangyezi", "成品资料")
Set ndd = TreeView1.Nodes.Add("kehu", tvwChild, "danwei", "出区资料")
Set ndd = TreeView1.Nodes.Add("chaxun", tvwChild, "syziliao", "成品资料查询")
Set ndd = TreeView1.Nodes.Add("chaxun", tvwChild, "dwziliao", "出区资料查询")
Set ndd = TreeView1.Nodes.Add("baobiao", tvwChild, "jinbaobiao", "出区资料报表")
Set ndd = TreeView1.Nodes.Add("baobiao", tvwChild, "fabaobiao", "法玛西亚报表")
TreeView1.LineStyle = tvwTreeLines
ndd.Expanded = True
leo4587 2003-10-20
  • 打赏
  • 举报
回复
有誰知道嗎?我也想知道。拜托!!!謝謝
Ljat 2003-10-20
  • 打赏
  • 举报
回复
還有一個忘記了﹐就是用怎么網格控件做成outlook那樣﹐可以進行升降序排列﹐但是有哪個圖標志。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧