Refresh dataGridView

Odpowiedz Nowy wątek
2019-01-07 17:45
0

Mam w jednym Formsie wyświetloną bazę w dataGridView, po otwarciu nowego Formsa, który dodaje rekord do mojej bazy chce aby po zamknięciu zrobić refresh dataGridView z moimi danymi. W jaki sposób zrobić odwołanie do dataGridView które jest w innym formsie?

Pozostało 580 znaków

2019-01-07 18:33
0

np. przy otwieraniu nowego forsma wrzucić mu przez konstruktor tego drugiego formsa.

private readonly Form1 _f1;

public Form2(Form1 f1)
{
    _f1 = f1;
    InitializeComponent();
}

public void DoSomething()
{
    _f1.Something();
}

w Form1:

new Form2(this);
edytowany 6x, ostatnio: WeiXiao, 2019-01-07 18:40
niestety nie dziala ale najprawdopodobniej cos nie tak z wypelnianiem dataGridView rekordami z bazy - dominiko14 2019-01-07 23:17

Pozostało 580 znaków

2019-01-07 20:49
0

A nie lepiej było by zrobić za pomocą DialogResult?

Form2 frm = new Form2();

if(frm.ShowDialog() == DialogResult.Ok)
{
   //refresh dataGridView;
}

A w Form2

public Form2()
{
    InitializeComponent();
}

public void DoSomething()
{
    _f1.Something();
    DialogResult = DialogResult.Ok;
}

Nie jestem pewien, a nie mam jak sprawdzić, ale nawet nie trzeba pisać this.Close() w DoSomething(). Wydaje mi się, że DialogResult.Ok samo zamknie okno. Poprawcie mnie jeśli się mylę ;)

niestety nie dziala ale najprawdopodobniej cos nie tak z wypelnianiem dataGridView rekordami z bazy - dominiko14 2019-01-07 23:14
Nie pisz w komentarzach, pod każdą odpowiedzią. Jeśli tyczy się to twojego problemu to pisz normalnie - AdamWox 2019-01-08 09:21

Pozostało 580 znaków

2019-01-08 09:22
0

Wrzuć tutaj jak wczytujesz dane do dataGridView.

Pozostało 580 znaków

2019-01-08 13:22
0
        {
            //poloczenie.Open();
            List<string>[] list = new List<string>[2];
            list[0] = new List<string>();
            list[1] = new List<string>();

            if (poloczenie.State == ConnectionState.Open)
            {
                zapytanie = string.Format("SELECT Nr FROM stroje ORDER BY Nr ASC");

                komenda = new SQLiteCommand(zapytanie, poloczenie);
                komenda.ExecuteNonQuery();
                SQLiteDataReader datareader = komenda.ExecuteReader();

                while (datareader.Read())
                {
                    list[0].Add(datareader["Nr"] + "");

                }
                datareader.Close();
                poloczenie.Close();
                return list;
            }

            else
            {
                return list;
            }

        }
            if (poloczenie.State == ConnectionState.Open)
            {

                List<string>[] list;
                list = SelectALL();
                dataGridView1.Rows.Clear();
                for (int i = 0; i < list[0].Count; i++)
                {
                    int number = dataGridView1.Rows.Add();
                    dataGridView1.Rows[number].Cells[0].Value = list[0][i];

                }
            }
            else
            {
                MessageBox.Show("Poloczenie nieudane", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            poloczenie.Close();

Pozostało 580 znaków

2019-01-08 13:31
1

WTF?!
Co to jest? :D

List<string>[] list = new List<string>[2];
list[0] = new List<string>();
list[1] = new List<string>();

Zrób tak

DataTable dt = new DataTable();

zapytanie = string.Format("SELECT Nr FROM stroje ORDER BY Nr ASC");

komenda = new SQLiteCommand(zapytanie, poloczenie);

SQLiteDataAdapter sda = new SQLiteDataAdapter(komenda, poloczenie);

sda.Fill(dt);

dataGridView.DataSource = dt;
jednak dziala, i SQLiteDataAdapter jako pierwszy argument przyjmuje zapytanie chyba a nie komende. Jest tylko problem bo powielają mi sie kolumny - dominiko14 2019-01-08 13:39

Pozostało 580 znaków

2019-01-08 13:44
1

Czyli działa. Burdelu w bazie ci nie poprawie, z tym sobie już sam musisz poradzić.

ok dzięki wielkie już wiem gdzie zrobiłem błąd :D - dominiko14 2019-01-08 13:46

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0