Ich hätte da mal ein paar Fragen (Ideenvorschläge) zu einer GUI... um genauer zu sein zu einem ListView, Code im Spoiler...
Lange Rede kurzer Sinn... Da ich im Script mit Mysql arbeite, habe ich mal zur Veranschaulichung die Daten "fest eingetragen" und alles was irgendwie mit SQL zu tun hat auskommentiert.. ist zwar unübersichtlicher, zeigt aber dass hier wirklich Sinn hinter steckt
Folgendes hätte ich gerne:
-Nach dem füllen der Werte in den Listview soll die Spalte entweder an die Länge der Spaltenüberschrift (wenn diese länger ist als der Inhalt darunter) ansonsten an den Inhalt angepasst werden.
-Zudem soll nach dem Verfallsdatum (nur nach dem Verfallsdatum) sortiert werden, nämlich das kürzere Verfallsdatum oben...
Ist das so machbar oder muss ich da eine andere Funktion für haben, oder habe ich in den GUI Control Styles einen Punkt überlesen, der mir die Funktion bereit stellt?
Dann eine weitere Frage:
Wenn ich den Eintrag mit dem kürzeren Verfallsdatum markiere, soll (beim markieren, also markieren durch klicken) weiterer Code ausgeführt werden... wie bewerkstelligt man das? Braucht es dazu eine ID um den Eintrag in der SQL zu identifizieren? (In der SQL gibts auch ne ID logischerweise, den ich aber nicht mit auslese)
Spoiler anzeigen
#include <array.au3>
#include <MySQL.au3>
#include <ListViewConstants.au3>
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
#include <MsgBoxConstants.au3>
#include <EditConstants.au3>
;~ $SQL = _MySQLConnect("","","test_db","localhost")
;~ $abfrage_datensaetze = _Query($SQL,"Select count(id) AS anzahl from vorhandene_artikel;")
;~ with $abfrage_datensaetze
;~ While NOT .eof
;~ $ergebnis_abfrage_datensaetze = .Fields("anzahl").value
;~ .MoveNext
;~ WEnd
;~ Global $items[$ergebnis_abfrage_datensaetze][7]
Global $items[2][7]
;~ endWith
$i = 0
;~ $var = _Query($SQL,"Select * FROM vorhandene_artikel where barcode = " & $input_barcode & ";")
;~ With $var
;~ While NOT .eof
;~ $items[$i][0]=.FIELDS("artikel_name").value
;~ $items[$i][1]=.FIELDS("artikel_menge").value
;~ $items[$i][2]=.FIELDS("artikel_sicherheitsbestand").value
;~ $items[$i][3]=.FIELDS("hersteller_name").value
;~ $items[$i][4]=.FIELDS("artikel_verfalldatum").value
;~ $items[$i][5]=.FIELDS("barcode").value
;~ $items[$i][6]=.FIELDS("artikel_kategorie").value
;~ $i = $i +1
;~ .movenext
;~ WEnd
;~ EndWith
$items[0][0]="Artikel1"
$items[0][1]="5"
$items[0][2]="3"
$items[0][3]="HP"
$items[0][4]="01.12.2015"
$items[0][5]="1"
$items[0][6]="1"
$items[1][0]="Artikel1"
$items[1][1]="10"
$items[1][2]="3"
$items[1][3]="HP"
$items[1][4]="01.12.2012"
$items[1][5]="1"
$items[1][6]="1"
$hArtikelGui = GUICreate("Artikelübersicht", 800, 600, 183, 115, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_WINDOWEDGE)
GUISetFont(10, 400, 0, 'Arial', $hArtikelGui)
$List2 = GUICtrlCreateListView("Artikelname|Vorhande Menge|Sicherheits-Bestand|Hersteller|Verfalldatum|Artikelnummer|Kategorie", 50, 50,750, 400, BitOr($LVS_SHOWSELALWAYS,$LVS_SINGLESEL), BitOR($LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE, $LVS_EX_DOUBLEBUFFER, $LVS_EX_SNAPTOGRID))
_GUICtrlListView_AddArray($List2, $items)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GuiDelete($hArtikelGui)
ExitLoop
EndSwitch
WEnd
Alles anzeigen
Vielen Dank im Voraus an alle die für mich mitdenken und helfen (wollen)