Hallo,
ich versuche mich neu in .NET mit Visual Studio.
Zum lernen habe ich mir ein kleines Programm geschrieben das Textdateien einliest und in einer GridView als Tabelle ausgibt.
In dem Programm nutze ich ein Eingabefeld um die Tabellen zu durchsuchen.
Die Ergebnisse werden mit roter Hintergrundfarbe markiert, alle anderen bleiben im Hintergrund weiß.
Ich möchte die Ergebnisse so aussortieren, dass die nicht markierten, also weißen Zeilen, ausgeblendet und nur die rot markierten angezeigt werden.
Nun scheitere ich daran, und bekomme das nicht hin. Ich habe mehrere Versuche gestartet, aber das wird nichts.
Ich habe die Aussortierung in den GridViews versucht.
Ich gebe es zu, ich blicke noch nicht durch.
Kann mir jemand einen Tipp geben wie ich die Sortierung machen muss?
Danke schon mal
*Topic verschoben, VB.NET-BBCode aktiviert*
ich versuche mich neu in .NET mit Visual Studio.
Zum lernen habe ich mir ein kleines Programm geschrieben das Textdateien einliest und in einer GridView als Tabelle ausgibt.
In dem Programm nutze ich ein Eingabefeld um die Tabellen zu durchsuchen.
Die Ergebnisse werden mit roter Hintergrundfarbe markiert, alle anderen bleiben im Hintergrund weiß.
Ich möchte die Ergebnisse so aussortieren, dass die nicht markierten, also weißen Zeilen, ausgeblendet und nur die rot markierten angezeigt werden.
Nun scheitere ich daran, und bekomme das nicht hin. Ich habe mehrere Versuche gestartet, aber das wird nichts.
Ich habe die Aussortierung in den GridViews versucht.
Ich gebe es zu, ich blicke noch nicht durch.
Kann mir jemand einen Tipp geben wie ich die Sortierung machen muss?
VB.NET-Quellcode
- Imports System.IO
- Imports System.Environment
- Imports System.Windows.Forms.VisualStyles.VisualStyleElement
- Imports System.Data.Common
- Public Class MeineCDListe
- Private Sub MeineCDListe_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- End Sub
- Private rnd As Random = New Random
- Private zeile As Object
- Private sAppPath As String
- Private Sub ButtonCover_Click(sender As System.Object, e As System.EventArgs) Handles ButtonCover.Click
- Dim files() = System.IO.Directory.GetFiles("w:\CDs\Cover", "*.jpg")
- Dim index As Integer = rnd.Next(files.Count)
- PictureBoxCover.Image = New Bitmap(files(index))
- DataGridView1.Visible = False
- PictureBoxCover.Visible = True
- End Sub
- Private Sub PictureBoxCover_Click(sender As Object, e As EventArgs) Handles PictureBoxCover.Click
- End Sub
- Private Sub DataGridView1_CellContentClick_1(sender As Object, e As DataGridViewCellEventArgs)
- End Sub
- Private Sub ButtonSuchen_Click_1(sender As Object, e As EventArgs) Handles ButtonSuchen.Click
- DataGridView1.Rows.Clear()
- DataGridView1.Columns.Clear()
- Dim lines As String() =
- Microsoft.VisualBasic.Split(My.Computer.FileSystem.ReadAllText(
- "W:\CDs\Listen\ARTISTS.txt", System.Text.Encoding.Default),
- Microsoft.VisualBasic.vbCrLf)
- With DataGridView1
- .Columns.Add("Interpret", "Interpret")
- '.Columns.Add("Titel", "Titel")
- '.Columns.Add("Genre", "Genre")
- .Columns.Add("Standort", "Standort")
- Dim fields() As String
- For Each line As String In lines
- fields = line.Split(";"c)
- .Rows.Add(fields)
- Next line
- End With
- DataGridView1.Columns("Interpret").Width = 700
- 'DataGridView1.Columns("Titel").Width = 340
- 'DataGridView1.Columns("Genre").Width = 150
- DataGridView1.Columns("Standort").Width = 230
- DataGridView1(DataGridView1.CurrentCell.ColumnIndex, DataGridView1.CurrentCell.RowIndex).Selected = False
- DataGridView1.Visible = True
- PictureBoxCover.Visible = False
- For Each Iterrow As DataGridViewRow In DataGridView1.Rows
- For Each c As DataGridViewCell In Iterrow.Cells
- If c.Value IsNot Nothing AndAlso c.Value.ToString.Contains(TextBox1.Text) Then
- c.Style.BackColor = Color.Red
- c.Style.ForeColor = Color.Yellow
- DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.SteelBlue
- DataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- Else
- c.Style.BackColor = Color.White
- End If
- If c.Style.BackColor = Color.Red Then DataGridView1.CurrentCell = c
- Next
- Next
- End Sub
- Private Sub ButtonListe_Click(sender As Object, e As EventArgs) Handles ButtonListe.Click
- DataGridView1.Rows.Clear()
- DataGridView1.Columns.Clear()
- Dim lines As String() =
- Microsoft.VisualBasic.Split(My.Computer.FileSystem.ReadAllText(
- "W:\CDs\Listen\SONGS.txt", System.Text.Encoding.Default),
- Microsoft.VisualBasic.vbCrLf)
- With DataGridView1
- .Columns.Add("Titel", "Titel")
- .Columns.Add("Interpret", "Interpret")
- .Columns.Add("Album", "Album")
- .Columns.Add("Standort", "Standort")
- Dim fields() As String
- For Each line As String In lines
- fields = line.Split(";"c)
- .Rows.Add(fields)
- Next line
- End With
- DataGridView1.Columns("Titel").Width = 250
- DataGridView1.Columns("Interpret").Width = 250
- DataGridView1.Columns("Album").Width = 260
- DataGridView1.Columns("Standort").Width = 170
- DataGridView1(DataGridView1.CurrentCell.ColumnIndex, DataGridView1.CurrentCell.RowIndex).Selected = False
- DataGridView1.Visible = True
- PictureBoxCover.Visible = False
- For Each Iterrow As DataGridViewRow In DataGridView1.Rows
- For Each c As DataGridViewCell In Iterrow.Cells
- If c.Value IsNot Nothing AndAlso c.Value.ToString.Contains(TextBox1.Text) Then
- c.Style.BackColor = Color.Red
- c.Style.ForeColor = Color.Yellow
- DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Green
- DataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- Else
- c.Style.BackColor = Color.White
- End If
- If c.Style.BackColor = Color.Red Then
- DataGridView1.CurrentCell = c
- End If
- Next
- Next
- End Sub
- Private Sub ButtonKuenstler_Click(sender As Object, e As EventArgs) Handles ButtonKuenstler.Click
- ' Pfad und DateiName
- Dim Path As String() = Microsoft.VisualBasic.Split(My.Computer.FileSystem.ReadAllText("W:\CDs\Listen\ZUFALLSINTERPRET.txt", System.Text.Encoding.Default), Microsoft.VisualBasic.vbCrLf)
- ' String Varianle für die spätere aufnahme deiner Zeile
- Dim MeineZeile As String = Nothing
- ' Zufallsgenerator
- Dim Zufall As New Random
- ' Deine TextDatei in ein Arry einlesen
- Dim lines() As String = Path
- ' Die Menge der Zeilen aus der TextDatei ermitteln
- Dim Menge As Integer = lines.Count
- ' Zufallszahl zwischen 0 und Menge der Zeilen
- Dim returnValue As Integer = Zufall.Next(0, Menge)
- ' Die Zeile auslesen
- MeineZeile = lines(returnValue)
- ' Die Zeile anzeigen
- RichTextBox1.Text = MeineZeile
- End Sub
- Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
- End Sub
- Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
- End Sub
- Private Sub Label1_Click(sender As Object, e As EventArgs)
- End Sub
- Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
- End Sub
- Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
- End Sub
- End Class
Danke schon mal
*Topic verschoben, VB.NET-BBCode aktiviert*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()