Spalten per Code ändern

  • Hallo,

    ich möchte gerne die Spaltenüberschriften
    in meinem Listview per Code ändern.

    Klappt alles nicht wie gewollt....

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 465, 231, 192, 124)
    $ListView1 = GUICtrlCreateListView("--", 8, 16, 442, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    $Button1 = GUICtrlCreateButton("Spalten", 8, 176, 91, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $Spalte1 = "Nr 1"
    $Spalte2 = "Nr 2"
    $Spalte3 = "Nr 3"
    $Spalte4 = "Nr 4"
    $Spalte5 = "Nr 5"

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    ;$ListView1 = GUICtrlCreateListView($Spalte1&"|"&$Spalte2, 8, 16, 442, 150)
    ;GUICtrlSetData($ListView1,$Spalte1&"|"&$Spalte2&"|")
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Liebe Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (31. August 2012 um 18:15)

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiHeader.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #region - Timestamp
    ; 2012-08-31 17:59:43
    #endregion - Timestamp

    [/autoit] [autoit][/autoit] [autoit]

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 465, 231, 192, 124)
    $ListView1 = GUICtrlCreateListView("1|2|3|4|5", 8, 16, 442, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 50)
    $hHeader = _GUICtrlListView_GetHeader($ListView1)
    $Button1 = GUICtrlCreateButton("Spalten", 8, 176, 91, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $Spalte1 = "Nr 1"
    $Spalte2 = "Nr 2"
    $Spalte3 = "Nr 3"
    $Spalte4 = "Nr 4"
    $Spalte5 = "Nr 5"

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    _GUICtrlHeader_SetItemText($hHeader, 0, $Spalte1)
    _GUICtrlHeader_SetItemText($hHeader, 1, $Spalte2)
    _GUICtrlHeader_SetItemText($hHeader, 2, $Spalte3)
    _GUICtrlHeader_SetItemText($hHeader, 3, $Spalte4)
    _GUICtrlHeader_SetItemText($hHeader, 4, $Spalte5)
    EndSwitch
    WEnd

    [/autoit]
  • So?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 465, 231, 192, 124)
    $ListView1 = GUICtrlCreateListView("--", 8, 16, 442, 150)
    _GUICtrlListView_AddColumn($ListView1, "--")
    _GUICtrlListView_AddColumn($ListView1, "--")
    _GUICtrlListView_AddColumn($ListView1, "--")
    _GUICtrlListView_AddColumn($ListView1, "--")
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    $Button1 = GUICtrlCreateButton("Spalten", 8, 176, 91, 41, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $Spalte1 = "Nr 1"
    $Spalte2 = "Nr 2"
    $Spalte3 = "Nr 3"
    $Spalte4 = "Nr 4"
    $Spalte5 = "Nr 5"

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    ;$ListView1 = GUICtrlCreateListView($Spalte1&"|"&$Spalte2, 8, 16, 442, 150)
    GUICtrlSetData($ListView1,$Spalte1&"|"&$Spalte2&"|"&$Spalte3&"|"&$Spalte4&"|"&$Spalte5)
    EndSwitch
    WEnd

    [/autoit]

    Mfg

  • Hallo Raupi,

    merci für die Lösung.

    ABER:
    Folgendes, wenn die Anzahl der Spalten nicht bekannt ist
    dann klappt das nicht mehr!

    Beispiel:
    Wenn ich 10 oder mehr Checkboxen mit Namen habe, davon sollen 4 ausgewählt werden
    dann sollen daraus 4 Spalten gemacht werden.

    EDIT

    @Kasey

    hm ich glaube mit dem Befehl

    [autoit]


    _GUICtrlListView_AddColumn($ListView1, "--")

    [/autoit]


    komm ich weiter...!

    Merci

    Grüße
    Ilse ;)

    2 Mal editiert, zuletzt von Ilse (31. August 2012 um 18:14)