Laden...
Andi153
myCSharp.de - Member
10
Themen
17
Beiträge
Dabei seit
01.01.2024
Erstellt vor 2 Monaten

Danke für die Info ))

Erstellt vor 2 Monaten

Nehmen wir an, X hat einen Handyvertrag, und dieser wird gekündigt - infolgedessen wird die SIM-Karte deaktiviert. Wenn WhatsApp auch auf dem Laptop oder PC (als verknüpftes Gerät) läuft - kann auf diesen Geräten WhatsApp dann weiterhin benutzt werden oder ist es dann wegen der Deaktivierung der Telefonnummer auch auf den verknüpften Geräten nicht mehr benutzbar?

Erstellt vor 3 Monaten

Ich habe meinen Code nun überarbeitet:

Es gibt eine InitializeGird-Methode:


 protected override async void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            InitializeGrid();

        }

Diese baut die DataGridView (== UI):

        private void InitializeGrid() {

            dataGridViewAppointmentsOnClickedDay = new DataGridView();

            dataGridViewAppointmentsOnClickedDay.CellFormatting += DataGridViewAppointmentsOnClickedDay_CellFormatting;

            dataGridViewAppointmentsOnClickedDay.Location = new System.Drawing.Point(250, 10);
            dataGridViewAppointmentsOnClickedDay.Size = new System.Drawing.Size(600, 250);

            dataGridViewAppointmentsOnClickedDay.ScrollBars = ScrollBars.Vertical;
            dataGridViewAppointmentsOnClickedDay.AllowUserToAddRows = false;
            dataGridViewAppointmentsOnClickedDay.ReadOnly = true;
            dataGridViewAppointmentsOnClickedDay.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

            dataGridViewAppointmentsOnClickedDay.CellClick += DataGridView_CellClick;

            DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "id";
            column.Name = "id";
            dataGridViewAppointmentsOnClickedDay.Columns.Add(column);
            dataGridViewAppointmentsOnClickedDay.Columns["id"].Visible = false;

Nun nur Datenlogik. Diese ist in eine Methode UpdateAppointments verlegt sowie in die folgenden Methoden. Das Problem ist: Ich muss erst ein Datum im Kalender selektieren (welches nicht das heutige Datum ist), dann erst wird die DataGridView gebaut. Und erst wenn ich dann ein zweites, abweicendes, Datum selektiere, werden die Feiertage (qua Nager.Holiday) in den Kalender geladen. Ich habe in der OnLoad-Methode herumexperimentiert, nichtsdestotrotz weiß ich nicht, was ich mir jetzt ankucken soll, damit es sofort flutscht, also sowohl die GridView als auch der Kalender (mit den Feiertagen) gleich erscheint, sobakd die View geladen ist. Ich bin für diesbezügliche Tipps sehr dankbar.

private void UpdateAppointments(int day, int month, int year)

{
  appointments = dateDao.GetDatesFor(day, month, year);
  GetMonthsAppointments(monthCalendar.SelectionStart.Month, 
  monthCalendar.SelectionStart.Year);
  dataGridViewAppointmentsOnClickedDay.DataSource = appointments;

}
...

private void CreateCalendar()
{
//Kalender

monthCalendar = new MonthCalendar
{

CalendarDimensions = new Size(1, 1),
Location = new Point(10, 40)

};

monthCalendar.DateChanged += MonthCalendar_DateChanged;

d = monthCalendar.SelectionStart.Day; m = monthCalendar.SelectionStart.Month; y = monthCalendar.SelectionStart.Year;

Controls.Add(monthCalendar);

}
…

public void DrawAppointmentsOnClickedDay(int day, int month, int year, DateDao dateDao)
{

 UpdateAppointments(day, month, year);

 LoadHolidays();
 
 CreateCalendar(year, month, day);

}
private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)

{

if (e.RowIndex >= 0)

{

if (e.ColumnIndex == dataGridViewAppointmentsOnClickedDay.Columns["xColumn"].Index)
{

 // Zugriff auf die aktuelle Reihe

 DataGridViewRow row = ((DataGridView)sender).Rows[e.RowIndex];
 string idToDelete = row.Cells["id"].Value.ToString();
 string whichRepetition = row.Cells["repeat"].Value.ToString();

if ("y".Equals(whichRepetition) || "m".Equals(whichRepetition))
 {
  // Abfrage: Serie oder einzelnes Ereignis löschen

  string askDelete = resourceManager.GetString("Do you want to delete the entire series (yes) or just this individual event (no)?");
  string confirm = resourceManager.GetString("Confirm deletion");

  DialogResult result = MessageBox.Show(
  askDelete,
  confirm,
  MessageBoxButtons.YesNoCancel,
  MessageBoxIcon.Question,
  MessageBoxDefaultButton.Button3);

// Entscheidung anhand der Auswahl des Benutzers

if (result == DialogResult.Yes)
{
 // Ganze Serie löschen
 dateDao.DeleteEntryById(idToDelete);
}

else if (result == DialogResult.No)

{

string exception_start = row.Cells["start"].Value.ToString();

DateTime selectedDate = monthCalendar.SelectionStart;

string[] dateParts = exception_start.Split('.');

int day = Convert.ToInt32(dateParts[0]);

int month = Convert.ToInt32(dateParts[1]);

int year = Convert.ToInt32(dateParts[2].Substring(0, 4));




DateTime newDateTime = new DateTime(selectedDate.Year, selectedDate.Month, day);

string formattedDate = newDateTime.ToString("dd.MM.yyyy");

exception_start = formattedDate;

string exception_end = row.Cells["end"].Value.ToString();

selectedDate = monthCalendar.SelectionStart;

dateParts = exception_end.Split('.'); //<- Da werde ich mich noch drum kümmern.

day = Convert.ToInt32(dateParts[0]);
month = Convert.ToInt32(dateParts[1]);
year = Convert.ToInt32(dateParts[2].Substring(0, 4));

newDateTime = new DateTime(selectedDate.Year, selectedDate.Month, day);
formattedDate = newDateTime.ToString("dd.MM.yyyy");
exception_end = formattedDate;
dateDao.WriteExceptionIntoExceptionTBL(idToDelete, exception_start, exception_end);
}




// Nur bei Ja oder Nein neu zeichnen, nicht bei Cancel
if (result != DialogResult.Cancel)
{
dateDao.DeleteEntryById(idToDelete);

UpdateAppointments(monthCalendar.SelectionStart.Day,

monthCalendar.SelectionStart.Month,

monthCalendar.SelectionStart.Year);

dataGridViewAppointmentsOnClickedDay.Refresh();




int d = monthCalendar.SelectionStart.Day;

int m = monthCalendar.SelectionStart.Month;

int y = monthCalendar.SelectionStart.Year;




DrawAppointmentsOnClickedDay(d, m, y, dateDao);

//Wenn das oben nicht geht, dann mache ich es eben so...:

//Application.Restart();

//Environment.Exit(0);

}

}

else

{

dateDao.DeleteEntryById(idToDelete);

int d = monthCalendar.SelectionStart.Day;

int m = monthCalendar.SelectionStart.Month;

int y = monthCalendar.SelectionStart.Year;

//DrawAppointmentsForFreshMonth(d, m, y);

DrawAppointmentsOnClickedDay(d, m, y, dateDao);

}

}

else {
// Zugriff auf die aktuelle Reihe

DataGridViewRow row = ((DataGridView)sender).Rows[e.RowIndex];

string id = row.Cells["id"].Value.ToString();
DetailsForm detailsForm = new DetailsForm(id, this);
detailsForm.ShowDialog();
  }
 }
}
…

private async void LoadHolidays()

{
 string currentCulture = Thread.CurrentThread.CurrentCulture.Name;
 string[] cultureParts = currentCulture.Split('-');
 string region = cultureParts.Length > 1 ? cultureParts[1] : "DE";

  var holidayClient = new HolidayClient();
  try
  {

    PublicHoliday[] phs = await holidayClient.GetHolidaysAsync(monthCalendar.SelectionStart.Year, region);
    holidays = phs.ToList();
}

catch (Exception ex)

  {

   MessageBox.Show("Fehler beim Abrufen der Feiertage: " + ex.Message);

  }

}


Erstellt vor 3 Monaten

Vielen Dank für die Tipps. Ich werde mir das nun alles einmal ansehen. Anbei liefere ich noch meine Methode DrawAppointmentsForFreshMonth:

   private void DrawAppointmentsForFreshMonth(int day, int month, int year)
 {
    
     DrawAppointmentsOnClickedDay(day, month, year, dateDao);

 }

 public void DrawAppointmentsOnClickedDay(int day, int month, int year, DateDao dateDao)
 {

     Controls.Remove(dataGridViewAppointmentsOnClickedDay);

     dataGridViewAppointmentsOnClickedDay = new DataGridView();

     dataGridViewAppointmentsOnClickedDay.CellFormatting += DataGridViewAppointmentsOnClickedDay_CellFormatting;

     dataGridViewAppointmentsOnClickedDay.Location = new System.Drawing.Point(250, 10);
     dataGridViewAppointmentsOnClickedDay.Size = new System.Drawing.Size(600, 250);

     dataGridViewAppointmentsOnClickedDay.ScrollBars = ScrollBars.Vertical;
     dataGridViewAppointmentsOnClickedDay.AllowUserToAddRows = false;
     dataGridViewAppointmentsOnClickedDay.ReadOnly = true;
     dataGridViewAppointmentsOnClickedDay.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

     dataGridViewAppointmentsOnClickedDay.CellClick += DataGridView_CellClick;

     appointments = dateDao.GetDatesFor(day, month, year);


     int selectedMonth = monthCalendar.SelectionStart.Month;
     int selectedYear = monthCalendar.SelectionStart.Year;
     GetMonthsAppointments(selectedMonth, selectedYear);

     dataGridViewAppointmentsOnClickedDay.DataSource = appointments;

     DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
     column.DataPropertyName = "id";
     column.Name = "id";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);
     dataGridViewAppointmentsOnClickedDay.Columns["id"].Visible = false;

     column = new DataGridViewTextBoxColumn();
     column.Name = "xColumn";
     column.HeaderText = "";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);

     column = new DataGridViewTextBoxColumn();
     column.HeaderText = resourceManager.GetString("Appointment");
     column.DataPropertyName = "text";
     column.Name = "text";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);

     column = new DataGridViewTextBoxColumn();
     column.DataPropertyName = "start";
     column.Name = "start";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);

     column = new DataGridViewTextBoxColumn();
     column.DataPropertyName = "end";
     column.Name = "end";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);

     column = new DataGridViewTextBoxColumn();
     column.HeaderText = resourceManager.GetString("repetition");
     column.DataPropertyName = "repeat";
     column.Name = "repeat";
     dataGridViewAppointmentsOnClickedDay.Columns.Add(column);

     dataGridViewAppointmentsOnClickedDay.RowsAdded += new DataGridViewRowsAddedEventHandler(DataGridView_RowsAdded);

     Controls.Add(dataGridViewAppointmentsOnClickedDay);


     LoadHolidays();

     CreateCalendar(year, month, day);

 }
Erstellt vor 3 Monaten

Ich programmiere eine Kalenderapplikation als Forms App, und dabei werden in einer dataGridAppointmentsOnClickedDay die Termine dargestellt. Es ist möglich, diese zu löschen, und zwar durch den Eventlistener DataGridView_CellClick. Ich frage auch ab, ob man einen Serientermin ("y" für yearly / jährlich) bzw. einen einzelnen Termin innerhalb dieses Serientermins löschen soll. Wenn ich nach dem Löschen die DrawAppointmentsForFreshMonth( - Methode aufrufe, wird die DataGridView dataGridViewAppointmentsOnClickedDay nicht neugezeichnet, erst dann, wenn ich die Application neu starte. Woran könnte das liegen? Aus dem Debuggen bin ich nicht schlau geworden. Was muss ich tun, dass auch wenn die Schleife else if (result == DialogResult.No) durchlaufen wird, die Methode  DrawAppointmentsForFreshMonth( derart aufgerufen wird, dass die DataGridView neu gezeichnet wird?


        private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
        {

            if (e.RowIndex >= 0)
            {
                if (e.ColumnIndex == dataGridViewAppointmentsOnClickedDay.Columns["xColumn"].Index)
                {

                    // Zugriff auf die aktuelle Reihe
                    DataGridViewRow row = ((DataGridView)sender).Rows[e.RowIndex];


                    string idToDelete = row.Cells["id"].Value.ToString();

                    string whichRepetition = row.Cells["repeat"].Value.ToString();

                    if ("y".Equals(whichRepetition) || "m".Equals(whichRepetition))
                    {

                        // Abfrage: Serie oder einzelnes Ereignis löschen
                        string askDelete = resourceManager.GetString("Do you want to delete the entire series (yes) or just this individual event (no)?");
                        string confirm = resourceManager.GetString("Confirm deletion");

                        DialogResult result = MessageBox.Show(
                            askDelete,
                            confirm,
                            MessageBoxButtons.YesNoCancel,
                            MessageBoxIcon.Question,
                            MessageBoxDefaultButton.Button3);

                        // Entscheidung anhand der Auswahl des Benutzers
                        if (result == DialogResult.Yes)
                        {
                            // Ganze Serie löschen
                            dateDao.DeleteEntryById(idToDelete);
                        }
                        else if (result == DialogResult.No)
                        {
                            string exception_start = row.Cells["start"].Value.ToString();
                            DateTime selectedDate = monthCalendar.SelectionStart;

                            string[] dateParts = exception_start.Split('.');
                            int day = Convert.ToInt32(dateParts[0]);
                            int month = Convert.ToInt32(dateParts[1]);
                            int year = Convert.ToInt32(dateParts[2].Substring(0, 4));

                            DateTime newDateTime = new DateTime(selectedDate.Year, selectedDate.Month, day);
                            string formattedDate = newDateTime.ToString("dd.MM.yyyy");

                            exception_start = formattedDate;

                            string exception_end = row.Cells["end"].Value.ToString();
                            selectedDate = monthCalendar.SelectionStart;

                            dateParts = exception_end.Split('.');
                            day = Convert.ToInt32(dateParts[0]);
                            month = Convert.ToInt32(dateParts[1]);
                            year = Convert.ToInt32(dateParts[2].Substring(0, 4));

                            newDateTime = new DateTime(selectedDate.Year, selectedDate.Month, day);
                            formattedDate = newDateTime.ToString("dd.MM.yyyy");

                            exception_end = formattedDate;

                            dateDao.WriteExceptionIntoExceptionTBL(idToDelete, exception_start, exception_end);

                        }

                        // Nur bei Ja oder Nein neu zeichnen, nicht bei Cancel
                        if (result != DialogResult.Cancel)
                        {
                            int d = monthCalendar.SelectionStart.Day;
                            int m = monthCalendar.SelectionStart.Month;
                            int y = monthCalendar.SelectionStart.Year;

                            //DrawAppointmentsForFreshMonth(d, m, y);
                            //Wenn ich oben die DrawAppointmentsForFreshMonth( - Methode aufrufe,
            //Wird die DataGridView dataGridViewAppointmentsOnClickedDay nicht neugezeichnet, erst dann, wenn 
            //ich die Application neu starte. Woran könnte das liegen? Aus dem Debuggen bin 
            //ich nicht schlau geworden.

                            Application.Restart(); 
                            Environment.Exit(0);
                        }
                    }
                    else
                    {
                        dateDao.DeleteEntryById(idToDelete);
                        int d = monthCalendar.SelectionStart.Day;
                        int m = monthCalendar.SelectionStart.Month;
                        int y = monthCalendar.SelectionStart.Year;
                        DrawAppointmentsForFreshMonth(d, m, y);
                    }
                }
                else
                {

                    // Zugriff auf die aktuelle Reihe
                    DataGridViewRow row = ((DataGridView)sender).Rows[e.RowIndex];
                    string id = row.Cells["id"].Value.ToString();

                    DetailsForm detailsForm = new DetailsForm(id, this);
                    detailsForm.ShowDialog();

                }
            }
        }

        private void DataGridViewAppointmentsOnClickedDay_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            // Überprüfen, ob es sich um die Spalten "start" oder "end" handelt
            if (dataGridViewAppointmentsOnClickedDay.Columns[e.ColumnIndex].Name == "start" ||
                dataGridViewAppointmentsOnClickedDay.Columns[e.ColumnIndex].Name == "end")
            {
                // Hole das Startdatum aus der Zelle
                DateTime startDate = DateTime.ParseExact(dataGridViewAppointmentsOnClickedDay.Rows[e.RowIndex].Cells["start"].Value.ToString(), "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture);

                // Hole das Enddatum aus der Zelle
                DateTime endDate = DateTime.ParseExact(dataGridViewAppointmentsOnClickedDay.Rows[e.RowIndex].Cells["end"].Value.ToString(), "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture);

                // Vergleiche die Daten mit dem aktuellen Datum
                if (startDate.Date <= DateTime.Now.Date && endDate.Date >= DateTime.Now.Date)
                {
                    // Setze die Hintergrundfarbe der gesamten Zeile auf Hellblau
                    dataGridViewAppointmentsOnClickedDay.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.LightBlue;
                }
            }
        }

        private void DataGridView_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            for (int i = e.RowIndex; i < e.RowIndex + e.RowCount; i++)
            {
                // Setzen des Wertes "x" für jede neue Zeile in der "xColumn" Spalte
                dataGridViewAppointmentsOnClickedDay.Rows[i].Cells["xColumn"].Value = "x";
            }
        }
}
Erstellt vor 3 Monaten

Vielen Dank für die schnelle Antwort. Ich hatte da etwas übersehen :\

Erstellt vor 3 Monaten

Ich schreibe gerade an einer Kalender-App. Um die Feiertage darzustellen, verwende ich Nager, dh. folgende using-Direktive: using Nager.Date.Models;

Hier in dieser Methode

private async void LoadHolidays()
{
    //var holidayClient = new HolidayClient();
    try
    {
        holidays = new List<Holiday>(); // await holidayClient.GetHolidaysAsync(DateTime.Now.Year, "DE"); //Hier dann das language DAO bemühen.
    }
    catch (Exception ex)
    {
        MessageBox.Show("Fehler beim Abrufen der Feiertage: " + ex.Message);
    }
}

Heißt es aber: Der Typ oder Namespace HolidayClient wurde nicht gefunden. Ich verstehe nicht, woran das liegen könnte, weswegen ich einmal hier fragen möchte, ob jemand einen ähnlichen Fehler bereits einmal hatte. oder woran das liegen könnte.

Erstellt vor 4 Monaten

Ich habe eine TextBox in einer C#-Form, immer, wenn sich der dort eingegebene Text ändert, wird ein Ereignis ausgelöst, und das Ziel ist es, dass ich den jeweils aktuellen Text einer Geolokation übergebe, sodass entsprechend dem eingegebenen Text geographische Orte vorgeschlagen werden können, z. B. Für „Ber“ „Berlin“ usw.:

private void addressTextBox_TextChanged(object? sender, EventArgs e)

{

string entry = addressTextBox.Text;

geoFile.Entry(entry);

}


public async Task<string> InitAsync(string query)

{


string apiUrl = "foo"; 

string apiKey = "bar";


JArray suggestions = new JArray();

try

{

string url = $"{apiUrl}?query={query}&apikey={apiKey}";


HttpResponseMessage response = await client.GetAsync(url);

response.EnsureSuccessStatusCode();


string responseBody = await response.Content.ReadAsStringAsync();


// Parsing des JSON-Antwortkörpers

var json = JObject.Parse(responseBody);

suggestions = (JArray)json["suggestions"];


}

catch (HttpRequestException e)

{

Console.WriteLine($"Request error: {e.Message}");

}


return suggestions.ToString();

}


public async void Entry(string entry)

{


static async Task<(bool, string)> TryGetHtml(string url)

{

if (string.IsNullOrEmpty(url))

{

return (false, null);

}

string html = await new HttpClient().GetStringAsync(url);

return (true, html);

}


string res = await InitAsync(entry);


}

Macht man das überhaupt so oder ist dies nicht die Weise, in welcher das umgesetzt wird?

Erstellt vor 5 Monaten

Ich habe eine Form mit einer DataGridView. Dort werden Zeilen farbig markiert (wie im folgenden Code beschrieben). Ich verstehe eines nicht. Wenn ich die erste Zeile klicke, werden alle Zeilen farbig (grün, siehe Anhang) markiert. Ich verstehe nicht, woran das liegen könnte. Hat eventuell hier im forum jemand einen Tipp für mich?

        //Ich habe hier eine Form, welche ein Datum, d. h. einen Termin, darstellt.

        private void CreateDataGridViewContacts()
        {
            if (dataGridViewC != null) {

                Controls.Remove(dataGridViewC);
            }

            

            dataGridViewC = new DataGridView();


            dataGridViewC.Location = new System.Drawing.Point(380, 70);

            //usw.

            //Es gibt dort eine DataGridView, die DataGridView hat drei Spalten, id, name und xColumn, id ist nicht sichtbar.
            DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "id";
            column.Name = "id";
            dataGridViewC.Columns.Add(column);

            dataGridViewC.Columns["id"].Visible = false;

            column = new DataGridViewTextBoxColumn();
            column.DataPropertyName = "name";
            column.Name = "name";
            dataGridViewC.Columns.Add(column);

            
            column = new DataGridViewTextBoxColumn();
            column.Name = "xColumn";
            column.HeaderText = "";
            dataGridViewC.Columns.Add(column);

            dataGridViewC.CellClick += DataGridViewC_CellClick;
            dataGridViewC.RowsAdded += new DataGridViewRowsAddedEventHandler(DataGridViewC_RowsAdded);

            LoadDataIntoDataGridView();

            Controls.Add(dataGridViewC);
        }

         


        private void LoadDataIntoDataGridView()
        {
            ContactDao contactDao = new ContactDao();

            DataSet contactsDataSet = contactDao.GetContacts();
            if (contactsDataSet.Tables.Count > 0)
            {
                dataGridViewC.DataSource = contactsDataSet.Tables[0];
            }
        }


        
        private void DataGridViewC_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            ContactDao contactDao = new ContactDao();
            

            //Wenn die xColumns angeklickt wird, soll folgendes passieren...
            if (e.ColumnIndex == dataGridViewC.Columns["xColumn"].Index)
            {


                var cellValue = dataGridViewC.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
                if (cellValue != null && cellValue.ToString() == "+")
                {
                    var idValue = dataGridViewC.Rows[e.RowIndex].Cells["id"].Value;
                    if (idValue != null)
                    {
                        // this.id.ToString() ist die ID des Datums (Termins), für das Objekt mit der id idValue.ToString() 
                        contactDao.ToggleCouple(this.id.ToString(), idValue.ToString());
                        //entscheidet diese Methode, ob das Objekt mit dem Datum verknüpft ist oder nicht.
                    }

              
                    CreateDataGridViewContacts();

                
                }
            }
        }


        private void DataGridViewC_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {

            ContactDao contactDao = new ContactDao();

            for (int i = e.RowIndex; i < e.RowIndex + e.RowCount; i++)
            {


                dataGridViewC.Rows[i].Cells["xColumn"].Value = "+";

                string cellValue = dataGridViewC.Rows[i].Cells["id"].Value.ToString();

                bool isLink = contactDao.GetLinkedContact(this.id.ToString(), cellValue);

                if (dataGridViewC.Rows[i].Cells["id"].Value != null && isLink)
                {
                    //Wenn das Objekt mit dem Termin verknüpft ist, soll dessen Zeile in der DataGridView grün werden.
                    //Das funktioniert auch, es gibt aber ein Problem: Wenn ich die erste Zeile klicke, ist ALLES grün.
                    //An dem Eintrag in der DB scheint es nicht zu liegen! Was kann dieses Verhalten für Ursachen haben?
                    dataGridViewC.Rows[i].DefaultCellStyle.BackColor = Color.Green;

                }
            }

        }
Erstellt vor 8 Monaten

Vielen Dank, das funktioniert - nur musste ich in der TryReadLine-Methode dem string value einen Leerstring zuweisen, d. h. value  = "".