Sign in to follow this  
Followers 0
cueclub

Question about Tree View

7 posts in this topic

I am trying to pull information from different files.

They will all be grouped together by name.

In treeview I would have

Last Name << This labels would be the actual name.

-First Name

-Address

-Phone Number

I currently have the above information saved into 4 different ini files.

I am writting the values as Section Keys.

Like so:

IniWriteSection(@ScriptDir & "\First Name.ini", GUICtrlRead($Name),"")

Then read it into an array such as

Local $Name2 = IniReadSectionNames(@ScriptDir & "\First Name.ini")

For $I = 1 To $Name2[0]
        GUICtrlSetData(-1, $Name2[$I] & "|")
    Next

The problem is I can not get the separate values into the TreeView based on what last name is selected.

Here is what I have so far:

Onlastnamesearch("CueClub")
Func Onlastnamesearch($LastName)
    
    

    GUICreate("Notes for " & $LastName, 300, 250, -1, -1, "", $WS_EX_TOPMOST)
GUICtrlCreateLabel("LAST NAME", 5, 10, 60, 40)

Local $Tmp = IniReadSectionNames(@ScriptDir & "\Last Name.ini")

Local $Tmp2 = GUICtrlCreateTreeView(5, 50, 170, 100)
For $I = 1 To $tmp[0]

        $tmp3 = GUICtrlCreateTreeViewItem($tmp[$i], $Tmp2)
        $FirstName = GUICtrlCreateTreeViewItem("First Name", $Tmp3)
        $Address = GUICtrlCreateTreeViewItem("Address", $Tmp3)
        $PhoneNumber = GUICtrlCreateTreeViewItem("Phone Number", $Tmp3)
    Next

    Local $exit = GUICtrlCreateButton("Exit", 5, 160, 50, 20)
    GUISetState(@SW_SHOW)

    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $exit Or $msg = $GUI_EVENT_CLOSE
                ExitLoop


                


            
                


        EndSelect
    WEnd

    GUIDelete()
EndFunc   ;==>Example

As you can see above, I can get the treeview to populate, and even the tree items, However I am stumped as to how to pull the data from the separate ini files and display them based on what is clicked on the treeview.

I have read the help file, and searched here a bit, but it is a bit confusing for me.

Any help would be appreciated.

CC

Share this post


Link to post
Share on other sites



cueclub,

Please post some examples of the ini files - without them we are just guessing how to extract the data. :)

If you attach them, you will need to change their extension as the forum software does not accept .ini files. Or you can put the content of each file between [code]...[/code] tags. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

I seem to have forgotten that part of it Sorry bout that.

The 1st ini is lastname.ini

[lastname1]
[lastname2]
[lastname3]
[lastname4]
[lastname5]
[lastname6]
[lastname7]
[lastname8]
[lastname9]
[lastname10]

The 2nd ini is phonenums.ini

[555-555-5555]
[222-222-2222]
and so on.....

What I need to do is get the Phne number when I click on the last name in the treeview area.

Hope this explains it a bit more.

CC

Share this post


Link to post
Share on other sites

Put them all into one ini file, with the sections being the last name, or last name and first name and the values/keys being the rest of the information. Having them in separate ini files makes it impractical to coordinate a name with a phone number for example.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Well I suppose I could do that, However when it gets to a company name for example. What would be the best way to write the different phone numbers to the name "Section" ?

Array perhaps?

Share this post


Link to post
Share on other sites

If you put them as phone#1 through phone#xx in the section for the company name, you could use IniReadSection to get all of the keys that are in that section.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Ok will give that a try. thx

CC

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • 9252Survive
      By 9252Survive
      Hi All, 
       
      I am fairly new to AutoIT and I am still trying to learn, I have been using _FileListToArray to list all the files with a particular extension in an array and then loop through it for operation  (   For $i = 1 To UBound($FileArray) - 1).
      So far this has been working fine. But I am not able to figure out a problem that I have; what if I have 50 files but I only want to loop through first 10 files and then next ten and so on?  Or rather I should say, how I can I only feed max 10 files to the array at a time when I do _FileListToArray regardless of the total number of files in the folder?
      Any insight/help will be much appreciated 
    • corgano
      By corgano
      I can't explain easily what i want to do, so i made a picture:

      What i want to do is to specify a treeview item, and then be able to move it right to be a child of the previous item, or left to do the opposite (make a child into a sibling). I also want to move and child items of the target with it, like in the bottom half of the above image depicts. However I didn't see any functions in the help file to move items around. All i want is a button that when pressed, makes the selected item and any of selected item's children move one layer to the right / left. Does anyone know how?

      Edit: something along the lines of _GUICtrlTreeView_Level but SET level
    • NiftRex
      By NiftRex
      I'm trying to get an array from a website so that I can just get the url, but I am not sure how. I read a bit of arrays but I have a feeling I'd have to be writing a lot more than what I should be. I will include the script I have so far and the API url for what I want.
       
      API: https://api.fast.com/netflix/speedtest?https=true&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=1 (I want the 'url' array that contains the url)
       
      Code:
      #include <MsgBoxConstants.au3> #include <Inet.au3> #include <Array.au3> $site = _INetGetSource('http://api.fast.com/netflix/speedtest?https=true&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=1') MsgBox($MB_SYSTEMMODAL, "Title", $site[1])  
    • rootx
      By rootx
      The path are cutted! maybe double [] in the path generated the error.
      Example:
       
      [I:\aaa\cc\aa vv vv vv (dd).txt] name=aa vv vv vv (dd).txt [I:\ffff\ffff\ffff ffff ffff ffff [ffff]\ffff\ffff.txt] name=ffff.txt $ini = IniReadSectionNames(@ScriptDir&"\my.ini") _ArrayDisplay($ini) for $x = 1 to UBound($ini)-1 ConsoleWrite($ini[$x]&@CRLF) Next  
    • Tjalve
      By Tjalve
      Hi everyone. Im creating a GUI for an application. Im usinga  treeview item and i want to add some information to the side of the treeview based on what cilditem you are pressing. For the moment i have a "get info" button that works. But that means that you have to select your child in the treeview, and then press a button to gte the info. I want the info to be visable as soon as you select it.
      With uther controls you can just add it to the loop but it doesnt seem to work with tyhe UDF version of the treeview control. Is there anything I can do?
      #include <GUIConstantsEx.au3> #include <GuiTreeView.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> ;~ Create GUI dim $guilabel[7] local $currentlevel = 1 Local $hGui = GUICreate( "Grejs", 1000, 500, 600, 300, BitOR( $GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX ) ) Local $iBorderWidth = 4, $aPos = WinGetClientSize( $hGui ) $idTV = _GUICtrlTreeView_Create($hGui, $iBorderWidth, $iBorderWidth, $aPos[0]-2*$iBorderWidth-400, $aPos[1]-2*$iBorderWidth-30 ) $root_level = _GUICtrlTreeView_Add($idTV,0,"Root") $item1 = _GUICtrlTreeView_AddChild($idTV, $root_level, "child1") $item2 = _GUICtrlTreeView_AddChild($idTV, $root_level, "child2") $item3 = _GUICtrlTreeView_AddChild($idTV, $root_level, "child3") ;~ Start Gui GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idTV MsgBox(0,"","") EndSwitch WEnd GUIDelete($hGui) Exit In this example, i want the msgbox to appear whenevr i select something in the treeview. It ios not my full code, but its an example of the problam i have. Help is much appritiated
      /G