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 der GridViews versucht.
Ich gebe es zu, ich blicke noch nicht durch.
Kann mir jemand einen Tipp geben wie ich die Sortierung machen muss?
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 der GridViews versucht.
Ich gebe es zu, ich blicke noch nicht durch.
Kann mir jemand einen Tipp geben wie ich die Sortierung machen muss?
Code:
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