| |
Fragen & Antworten rund um sev-KomponentenDatagrid 3 - Texteingabe | | | Autor: crosstravel | Datum: 06.01.20 18:46 |
| Hallo,
für ein neues Planungsprogramm analog Outlook Kalender möchte ich das grid einsetzen. ich habe gesehen, dass die Höhe der Rows mit RowHeigt gesetzt werden kann. Das ist schon sehr gut. Ist es vielleicht auch möglich, die Höhe variabel, abhängig von den in die Cells zu übertragenden Daten, zu gestalten?
Da die Breite einer column beschränkt ist, manchmal aber langer text in die Zelle üvertragen wird, müsste dieser Text umgebrochen werden. Ich habe dazu leider in der Hilfe keinen Hinweis gefunden. Wie kann sonst ein solcher Umbruch bewerkstelligt werden (vbCrLf?)?
Danke für ein Feedback
Rainer | |
Re: Datagrid 3 - Texteingabe | | | Autor: crosstravel | Datum: 06.01.20 19:46 |
| Hallo,
ich habe meinen Beitrag wohl zu früh gepostet. Bezüglich der Zeilenumbrüche innerhalb einer Zelle habe ich inzwischen WordWrap und Multiline gefunden. Das passt. Bleibt wohl nur noch die Frage nach einer variablen Höhe der Row.
Danke
Rainer | |
Re: Datagrid 3 - Texteingabe | | | Autor: crosstravel | Datum: 07.01.20 06:28 |
| Guten Morgen Dieter,
vielen Dank für die schnelle Antwort. ich hatte schon vermutet, dass eine flexible Zeilenhöhe nicht geht. Vielleicht darf ich hier noch eine weitere Frage anbringen.
Der Kunde möchte seine Omnibus im Outlookstil (dafür die Row-Höhe) disponieren. Die bereits fertiggestellte Disposition im Gant-Chart-Stil will er nicht.
Pro Bus (er hat momentan 20) will er eine Row haben; und pro Tag eine Column. Jetzt kann ein Bus an einem Tag mehrere Aufträge fahren. Kann ich die einzelnen Aufträge in einer Zelle überhaupt darstellen? Er möchte dann auf einen Auftrag klicken können, und dann sollen ihm die Details angezeigt werden. Klingt einfach, aber ist das mit dem Grid machbar? Es wäre jedenfalls eine tolle Sache.
Vielen Dank und herzliche Grüsse aus der Schweiz
Rainer | |
Re: Datagrid 3 - Texteingabe | | | Autor: crosstravel | Datum: 09.01.20 06:57 |
| Hallo Dieter,
ich habe eine banale Frage zur Anzeige des DataGrids. Ich erstelle ein Testprogramm füe die Dsiposition von Omnibussen und stütze mich dabei auf Dein Beispiel List-Mode zu Datagrid 3. Ich rufe InitGrid auf und erwarte dann die Anzeige des Grids mit den generierten Columns. Testhalber sind das fix 6. Das Grid ist aber weiterhin leer. Was mache ich hier falsch, kannst Du mir auf die Sprünge helfen?
Danke
Rainer
Private Sub InitGrid()
With sevGrid1
.RowHeight = 50
.LockUpdate True
.DataMode = Mode_List
.Clear True
.ColumnHeaderHeight = 30
.CellSpacingH = 1
.CellSpacingV = 2
.GridLines = GRID_BOTH
.GridLinesShowAlways = True
.AllowColumnClick = False
.ScrollBars = SB_AUTO
.AutoNumberFixedCol = True
' ---------------------------------------------------------------------
' -------
' Feststehende Spalten definieren
' ---------------------------------------------------------------------
' -------
.FixedColCount = 4
.FixedCol = True
With .FixedColumns(2)
.Caption = "Bus"
.Align = ALIGNMENT_LEFT
.HeadAlign = ALIGNMENT_LEFT
.Width = 1300
.RowBackColor = sevGrid1.BackColor
End With
With .FixedColumns(3)
.Caption = "Bezeichnung"
.Align = ALIGNMENT_LEFT
.HeadAlign = ALIGNMENT_LEFT
.Width = 2000
.RowBackColor = sevGrid1.BackColor
End With
With .FixedColumns(4)
.Caption = "Sitze"
.Align = ALIGNMENT_CENTER
.HeadAlign = ALIGNMENT_CENTER
.Width = 750
.RowBackColor = sevGrid1.BackColor
End With
' ---------------------------------------------------------------------
' -------
' columns und Titel generieren (für Test 6 Spalten)
' ---------------------------------------------------------------------
' -------
m_Days = 6
ColWidth = 3000
For i = 1 To m_Days
vDate = DateAdd("d", i - 1, m_DateFrom)
With .ColumnAdd(Format$(vDate, "yymmdd"), Format$(vDate, "Ddd") & _
vbCrLf & Format$(vDate, "dd.mm"), ColWidth, , , , ALIGNMENT_CENTER)
bHeute = (Format$(vDate, "yyyymmdd") = Format$(Now, "yyyymmdd"))
If bHeute Then
.Caption = "Heute" & vbCrLf & Format$(vDate, "dd.mm")
End If
.Bold = bHeute
If Weekday(vDate) = vbSunday Then .ForeColor = vbRed
End With
Next i
.AutoSort = True
.AllowMultiSelect = True
.AllowEdit = True
.AllowDelete = True
.AllowColumnReorder = True
.LockUpdate False
.Refresh
End With
End Sub | |
Re: Datagrid 3 - Texteingabe | | | Autor: crosstravel | Datum: 09.01.20 08:45 |
| Hi Dieter,
das war mein Fehler, ich bitte um Entschuldigung. Hatte ein Durcheinander mit dem Namen des Grids. Ich sprach sevGrid1 an - der Name war aber sevGrid2 - war wohl zu früh am Morgen.
Nochmals entschuldigung und einen schönen Tag
Rainer | |
Re: Datagrid 3 - Texteingabe | | | Autor: Wobi | Datum: 10.01.20 01:00 |
| Hallo Rainer,
das ist ein typischer Fehler den man nicht machen sollte.
Steuerelemente, Variablen Formulare usw. sollten "sprechende" Namen erhalten.
Was ..1 und ..2 sind beim Grid weißt du während der Programmierung, wenn es aber mal am Morgen nicht so schnell klappt, dann ist das ein Anzeichen dafür, dass wenn du z.B. ein halbes Jahr später ein Update machen möchtest du dich zum Affen im Code suchst was das jeweils bedeutet.
Ganz zu schweigen davon wenn mehrere Leute an einer Anwendung arbeiten.
Also sei nicht "tippfaul" und benenne alles was du hast mit aussagekräftigen Namen, besser ist das...
Ich habe in der Vergangenheit viele Aufträge abgelehnt wo ich vorhandenen Code verwenden sollte. Wenn da so Sachen wie: If Label47.Caption < Text12.Text Then.... usw. drin standen habe ich das kategorisch abgelehnt, denn da Blickt kein Mensch in vernünftiger Zeit durch, da ist die Anwendung schneller neu gemacht....
Gruß
Frank | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|