.NET pobranie id uzytkownika z wybranego wiersza w GridView

0

Czesc,
Mam GridView, w ktorym kazdy wiersz przechowuje informacje o uzytkowniku.
Chce pobrac id użytkownika (nie wiersza) z wybranego wiersza i wywołać procedurę usunięcia danego użytkownika.
Mam sobie metodę: UserGridView_RowCommand
i teraz tak:

if (e.CommandName.Equals("Delete"))
            {
                int id = UserGridView.SelectedRow. //TUTAJ nie wiem jak pobrac id uzytkownika z wybranego wiersza
                UserDB db = new UserDB();
                db.user_delete(id);
                UserGridView.DataBind();
            }

Pole z id użytkownika jest ukryte, nie wiem w jaki sposob mogę wrzucic pod zmienną id identyfikator uzytkownika z wybranego wiersza

1

SelectedRow jest typu GridViewRow więc ma właściwość Cells, czyli kolekcję obiektów typu TableCell, a więc możesz odwołać się do poszczególnych komórek przez ich indeks:

var someValue = myGridView.SelectedRow.Cells[0];

Polecam czytanie MSDN.

0

@john_klamka
Zrobiłem tak:

if (e.CommandName.Equals("Delete"))
            {
                var id = UserGridView.SelectedRow.Cells[0];
                UserDB db = new UserDB();
                db.user_delete(int.Parse(id.Text));
                UserGridView.DataBind();
            }

W gridView:

DataKeyNames="id"

podczas próby usunięcia krzyczy mi:
title

@Edit
Cały problem sie sprowadza do: "Jak mogę wychwycić id user'a z danego wiersza"
Gdy zrobiłem tak tzn. wrzucilem pod zmienna id, id usera ktory istnieje w tabeli to mi go bez problemu usunęło.

if (e.CommandName.Equals("Delete"))
            {
                int id = 4;
                string connectionString;
                connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\zad11.mdf;Integrated Security=True";
                SqlConnection connection = new SqlConnection(connectionString);
                SqlCommand command = new SqlCommand("users_delete", connection);
                command.CommandType = System.Data.CommandType.StoredProcedure;
                connection.Open();
                command.Parameters.AddWithValue("@id", id);
                command.ExecuteNonQuery();
                connection.Close();
                UserGridView.DataBind();
            }
0

Null czyli nic tam nie ma, albo żaden row nie jest zaznaczony - masz debugger od tego żeby sprawdzać takie rzeczy. A w ogóle to operacje na bazie robione w gui to jest gwałt na architekturze. Poczytaj sobie o architekturze wielowarstwowej.

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