Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 17 odgovora
  • 3.674 pregleda

Najnovija ↓

Vb datagridview row delete 17.02.2010. u 11:05 · pre 203 meseca #1
Bok,

ne znam kako izbrisati red iz tablice ( uz pomoć delete button-a) koji je odabran u datagridview-u.

Svaki primjer ili savjet je dobrodošao :) , hvala.
Re: Vb datagridview row delete 19.02.2010. u 15:47 · pre 203 meseca #3
Hvala na odgovoru, ali to briše zapis samo iz dw-a, ne i iz same tablice...
Re: Vb datagridview row delete 19.02.2010. u 17:09 · pre 203 meseca #4
Code:

DataTable dt = new DataTable();
dt.Rows.RemoveAt(dataGridView1.CurrentRow.Index);


pokusaj ovako mada nisam siguran da li se datatable rows indexi poklapaju sa datagridview rows
Re: Vb datagridview row delete 19.02.2010. u 17:45 · pre 203 meseca #5
morao sam malo promijeniti sintaxu : Dim dt As New DataTable()

nakon pokušaja brisanja se javi ova greška : There is no row at position 300.
Re: Vb datagridview row delete 23.02.2010. u 09:56 · pre 203 meseca #7
ok, ali ne razumijem baš kako to napraviti, vjerujem da je greška negdje u sintaxi jer čim upišem tvoj kod automatski dobijem ispravak koji izgleda ovako:

DataTable(dt = New DataTable()) s greškom "Data Type is a type and cannot be used as an expression"
Re: Vb datagridview row delete 23.02.2010. u 13:53 · pre 203 meseca #8
mijenja ti moj kod jer je kod mene C# a ne VB# .

Ajd sad polako kako ti se zove datatable ili ga nemas nego direktno iz baze popunjavas data grid view
Re: Vb datagridview row delete 23.02.2010. u 15:59 · pre 203 meseca #9
aha, ok, zove se ImenikDataSet

hvala na strpljenju, ne znam puno toga...
Re: Vb datagridview row delete 23.02.2010. u 22:00 · pre 203 meseca #12
Code:

Dim strDelete As String = "DELETE FROM TBL_NAME WHERE colname = "+ dataGridView1.CurrentRow.Cells[0].Value;
Dim cmdDelete As New OleDbCommand(strDelete, cnn)
da.DeleteCommand = cmdDelete

DataRow rowDel = menikDataSet.Tables[TBL_NAME].Rows[dataGridView1.CurrentRow.Index];
ImenikDataSet.Tables[TBL_NAME].Rows.Remove(rowDel);
ad.Update(ds.Tables[TBL_NAME]);


TBL_NAME ti je ime tabele iz koje brises

da ti je ime data adaptera koji koristis

cnn conection string na bazu

dataGridView1.CurrentRow.Cells[0].Value kontam da ti je u prvoj koloni neki broj koji jedinstveno prestavlja taj red

columnname ime te prve kolone
Re: Vb datagridview row delete 25.02.2010. u 11:03 · pre 203 meseca #13
javljaju se 2 greske:

1. ImenikTableAdapter.DeleteCommand = cmdDelete - DeleteCommand nije prihvacena
2. DataRow rowDel - sto ide u ovaj razmak, nesto fali, ili sam ja u krivu?

Citav kod mi izgleda ovako:

Code:
   
            Dim strDelete As String = "DELETE * FROM Imenik WHERE ID = " + DataGridView1.CurrentRow.Cells(0).Value
            Dim cnn As New OleDb.OleDbConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Imenik;Persist Security Info=True;Integrated Security=True")
            Dim cmdDelete As New OleDb.OleDbCommand(strDelete, cnn)
            Dim da As New ImenikDataSetTableAdapters.ImenikTableAdapter
            ImenikTableAdapter.DeleteCommand = cmdDelete

            DataRow rowDel = ImenikDataSet.Imenik.Rows(DataGridView1.CurrentRow.Index))
            ImenikDataSet.Imenik.Rows.Remove(rowDel)
            ImenikTableAdapter.Update(ImenikDataSet.Imenik)
Re: Vb datagridview row delete 25.02.2010. u 20:55 · pre 203 meseca #14
pod 2. moras sa sa Dim rowDelete As DataRow. Ovo prvo stvarno ne znam sta bi moglo biti data adapter bi trebao da ima delete commandu. Ako je nema mozes ti i rucno obrisati iz baza koristeci tu istu SQL komandu samo onda ne uradis data adapter update
Re: Vb datagridview row delete 28.02.2010. u 11:02 · pre 202 meseca #15
ne znam ni ja, nije mi jasno
napravio sam nesto drugo ali zadnji korak ne radi, tje ne brise nista, mozda ti vidis gdje grijesim :

Code:

        Dim msg As String
        Dim title As String
        Dim style As MsgBoxStyle
        Dim response As MsgBoxResult
        msg = "Da li zaista želite obrisati kontakt '" + Trim(txtIme.Text) + " " + txtPrezime.Text + " " + txtTvrtka.Text + "' ?"
        style = MsgBoxStyle.Exclamation Or MsgBoxStyle.YesNoCancel
        title = "UPOZORENJE"
        response = MsgBox(msg, style, title)

        Try

            If response = MsgBoxResult.Yes Then
                Dim da As New SqlClient.SqlDataAdapter("Delete * from Imenik where ID = " + Trim(txtID.Text) + "", conn)
                msg = "Kontakt uspješno obrisan!"
                style = MsgBoxStyle.Information Or MsgBoxStyle.OkOnly
                title = "Obavijest"
            Else

            End If

        Catch ex As Exception
            MsgBox(ex.Message)

        End Try


jednostavno se nista ne dogodi niti dobijem povratnu info da je negdje greska
Re: Vb datagridview row delete 28.02.2010. u 12:23 · pre 202 meseca #16
Kao prvo
Dim da As New SqlClient.SqlDataAdapter("Delete * from Imenik where ID = " + Trim(txtID.Text) + "", conn)

ce ti postaviti SELECT upit.

Drugo delte se pise ovako bez zvijezdice

"DELETE FROM IMENIK WHERE ID="

I treca stvar ti je pa i nisi nista uradio ti si samo deklarisao DataAdapter.

Ajde ovako zakaci mi ti svoj projekat i ja cu ga prepraviti. Mislim da znam gdje grijesis ali moram da vidim kompletnu tu klasu.
Re: Vb datagridview row delete 01.03.2010. u 11:10 · pre 202 meseca
izmenjeno 1 put, poslednji put bukwa 01.03.2010. u 11:36
  1. bukwa01.03.2010. u 11:36zapis iz teksta poruke
#17
Shvatio sam i uspio obrisati zapis iz baze.
Samo sad jos da skuzim zasto ne pokazuje potvrdni message box da je podatak obrisan.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme