Article View: be.comp.programming
Article #3437Problemen met vb.net + code
From: CLUT
Date: Tue, 23 Dec 2003 09:21
Date: Tue, 23 Dec 2003 09:21
153 lines
6176 bytes
6176 bytes
De eerste keer dat ik me hier waag...
Ik heb 2 problemen waar ik echt niet meer uitkom...:(
1. Ik heb een dataset in een datagrid geplaatst, alleen de kolommen
moeten automatisch aanpassen aan de breedte, dit lukt niet!
2. In de dataset (xml file die wordt opgehaald) staan tijden. Op die
tijden moet het programma opstarten, maar hoe weet de klok hoeveel
records die langs moet gaan??? Hoe weet ie bijvoorbeeld dat ie 100
records moet nakijken om daar de tijd uit te halen??
Ik hoop dat iemand hier een idee heeft, hieronder nog de code
-------------------------
Public Class Form1
Inherits System.Windows.Forms.Form
'Declareert de variabelen
Dim lokatie_xml_file
Dim dit As Boolean
Dim controle
Dim i As Integer
Dim x As Byte
Dim dataset As DataSet = New DataSet
Dim row As DataRow
Dim tabel As DataTable = New DataTable("record")
Dim urenkolom As DataColumn = New DataColumn("Uren",
GetType(System.Byte))
Dim minutenkolom As DataColumn = New DataColumn("Minuten",
GetType(System.String))
Dim lokatiekolom As DataColumn = New DataColumn("Lokatie",
GetType(System.String))
Dim id As DataColumn = New DataColumn("id", GetType(System.Int32))
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
id.AutoIncrement = True
Dim primarykey As DataColumn() = New DataColumn() {id}
tabel.Columns.Add(id)
tabel.Columns.Add(urenkolom)
tabel.Columns.Add(minutenkolom)
tabel.Columns.Add(lokatiekolom)
dataset.Tables.Add(tabel)
End Sub
' Hier wordt het programma daadwerkelijk gestart
Function start_programma()
Dim ProcID As Integer
'start het programma
ProcID = Shell(DataGrid1((x), 3), AppWinStyle.NormalFocus)
AppActivate(ProcID)
End Function
Private Sub Opslaan_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Opslaan.Click
' Hier wordt gecontroleerd of de ID is ingevuld, deze functie
kan opgeheven worden als de andere controle op de records werkt
If TextBox1.Text = "" Then
MessageBox.Show("U moet het aantal records invullen!")
Else
lokatie_xml_file = TextBox2.Text
controle = TextBox1.Text
dataset.WriteXml(lokatie_xml_file)
TextBox1.Text = ""
nagaan_records()
End If
End Sub
' Hiermee wordt de xml file opgehaald en in de datagrid gezet
Private Sub Gegevens_ophalen_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Gegevens_ophalen.Click
Dim lokatie_xml_file
lokatie_xml_file = TextBox2.Text
'Hier gaat hij het xml bestand openen
dataset.ReadXml(lokatie_xml_file)
'Hier wordt de xml aan de dataset gekoppeld
DataGrid1.SetDataBinding(dataset, "Record")
'Hier wordt de dataset in de datagrid gezet
DataGrid1.DataSource = dataset
End Sub
' Hiermee moeten de kolommen aangepast worden maar hoe????!!!
Public Sub AutoSizeCol(ByVal col As Integer)
Dim width As Single
width = 0
Dim numRows As Integer
If (x = 0 Or 1) Then
numRows = CType(DataGrid1.DataSource.tables(x),
DataTable).Rows.Count
Dim g As Graphics
g = Graphics.FromHwnd(DataGrid1.Handle)
Dim sf As StringFormat
sf = New StringFormat(StringFormat.GenericTypographic)
Dim size As SizeF
Dim i As Integer
i = 0
Do While (i < numRows)
size = g.MeasureString(DataGrid1(i, col).ToString,
DataGrid1.Font, 500, sf)
If (size.Width > width) Then
width = size.Width
End If
i = (i + 1)
Loop
g.Dispose()
DataGrid1.TableStyles("record").GridColumnStyles(col).Width
= CType(width, Integer)
End If
End Sub
' Dit is de timer, die bepaalt wanneer programma gestart wordt
Private Sub tiTimer_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles tiTimer.Tick
If dit = True Then
x = 0
For x = 0 To (controle)
If DataGrid1((x), 1) = Hour(Now()) And DataGrid1((x),
2) = Minute(Now()) Then
start_programma()
End If
Next x
End If
End Sub
'Zorgt ervoor dat een record verwijdert kan worden
Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Delete_button.Click
Dim intIndex As Integer = DataGrid1.CurrentRowIndex
tabel.Rows.RemoveAt(intIndex)
tabel.AcceptChanges()
DataGrid1.Update()
End Sub
'DEZE FUNCTIE MOET DE RECORD ID GAAN BEPALEN, ZODAT DE TIJD WEET
HOEVEEL RECORDS DIE LANGS MOET
Function nagaan_records()
For i = 0 To 200
If tabel.Columns.IndexOf(1) = "Null" Then
controle = i - 1
End If
Next i
End Function
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles OK.Click
dit = True
End Sub
End Class
Technical Details
Message-ID:
<6f462285.0312230121.43b5c750@posting.google.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,faf2286a6e1060c5,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-12-23 01:21:28 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail From: clutgendorff@dolfijn.nl (CLUT) Newsgroups: be.comp.programming Subject: Problemen met vb.net + code Date: 23 Dec 2003 01:21:27 -0800 Organization: http://groups.google.com Lines: 153 Message-ID: <6f462285.0312230121.43b5c750@posting.google.com> NNTP-Posting-Host: 213.144.232.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1072171288 18896 127.0.0.1 (23 Dec 2003 09:21:28 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 23 Dec 2003 09:21:28 +0000 (UTC)