Wkleję więc całość :)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MySql.Data.MySqlClient;
using System.Data;
namespace Aplikacja_do_zarzadzania
{
public partial class Glowne_okno : Window
{
public Glowne_okno()
{
InitializeComponent();
}
string sql;
public void pobierzDane(string sql)
{
string mojePolaczenie =
"SERVER=" + "" + ";" +
"DATABASE=" + "" + ";" +
"UID=" + "" + ";" +
"PWD=" + "" + ";";
MySqlConnection polaczenie = new MySqlConnection(mojePolaczenie);
{
polaczenie.Open();
using (MySqlCommand cmdSel = new MySqlCommand(sql, polaczenie))
{
DataTable dt = new DataTable();
MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);
da.Fill(dt);
dataGrid1.ItemsSource = dt.DefaultView;
}
}
polaczenie.Close();
}
private void wyczysc_Click(object sender, RoutedEventArgs e)
{
textBox_pesel.Text = "";
}
private void wyszukaj_Click(object sender, RoutedEventArgs e)
{
pobierzDane(sql = "SELECT * FROM dawcy WHERE id ='" + this.textBox_pesel.Text + "'");
}
private void odswiez_Click(object sender, RoutedEventArgs e)
{
pobierzDane(sql = "SELECT * FROM dawcy;");
}
private void textBox_pesel_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
textBox_pesel.Text = string.Empty;
}
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
object item = dataGrid1.SelectedItem;
textBox1.Text = (dataGrid1.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text;
textBox2.Text = (dataGrid1.SelectedCells[1].Column.GetCellContent(item) as TextBlock).Text;
textBox3.Text = (dataGrid1.SelectedCells[2].Column.GetCellContent(item) as TextBlock).Text;
}
}
}
Wszystko ładnie ląduje w textboxach, jednak gdy chce po tym odświeżyć bazę, czy na przykład wyszukać kogoś innego program się wykrzacza i wywala błąd "ArgumentNullException wartość nie może być zerowa" wskazujący na textbox1. Podejrzewam że wystarczy dodać odpowiednie if przy wybieraniu row z datagrid. Próbowałem coś w stylu (dataGrid1.Rows.Count > 0), ale w WPF to nie przechodzi.