[ bukwa @ 17.02.2010. 10:05 ] @
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. |
[ bukwa @ 17.02.2010. 10:05 ] @
[ malo_nj @ 19.02.2010. 13:40 ] @
DataGridView1.Rows.Remove(DataGridView1.CurrentRow)
[ bukwa @ 19.02.2010. 14:47 ] @
Hvala na odgovoru, ali to briše zapis samo iz dw-a, ne i iz same tablice...
[ malo_nj @ 19.02.2010. 16:09 ] @
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 [ bukwa @ 19.02.2010. 16:45 ] @
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. [ malo_nj @ 19.02.2010. 17:00 ] @
ma ne trebas ti praviti novi datatable nego obrisi iz staroga onoga koji vec koristis
[ bukwa @ 23.02.2010. 08:56 ] @
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" [ malo_nj @ 23.02.2010. 12:53 ] @
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 [ bukwa @ 23.02.2010. 14:59 ] @
aha, ok, zove se ImenikDataSet
hvala na strpljenju, ne znam puno toga... [ malo_nj @ 23.02.2010. 17:28 ] @
a taj dataset punis kako? wizzard ili si ti pisao kod za to?
[ bukwa @ 23.02.2010. 17:47 ] @
wizzard
[ malo_nj @ 23.02.2010. 21:00 ] @
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 [ bukwa @ 25.02.2010. 10:03 ] @
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) [ malo_nj @ 25.02.2010. 19:55 ] @
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
[ bukwa @ 28.02.2010. 10:02 ] @
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 [ malo_nj @ 28.02.2010. 11:23 ] @
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. [ bukwa @ 01.03.2010. 10:10 ] @
Shvatio sam i uspio obrisati zapis iz baze.
Samo sad jos da skuzim zasto ne pokazuje potvrdni message box da je podatak obrisan. [Ovu poruku je menjao bukwa dana 01.03.2010. u 11:36 GMT+1] [ bukwa @ 01.03.2010. 10:48 ] @
uspio sam sve...puno ti hvala na pomoci :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|