Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C# pomoc datagrid

[es] :: .NET :: C# pomoc datagrid

[ Pregleda: 1743 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

programiranjeCsharp
Darko Nikolic
nezaposlen
Negotin, Srbija

Član broj: 337658
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon C# pomoc datagrid02.12.2017. u 16:34 - pre 76 meseci
Imam problema oko nekoliko stvari.
Kako da filtriram polja u datagridu kada se u textbox-u ukuca nesto, da ostane u datagridu samo ta jedna kolona gde se to nalazi.
Pokusavao sam nesto, radi pretraga samo sto se u datagridu ne pojavljuju podaci iz baze, vec samo prazne kolone.
Ne znam kako da pozovem listu sa datagridom i ubacim da se sve to filtrira. Evo koda ispod.

Hvala unapred !

private List<Servis> GetSevices(Klijent k)
{
sList = new List<Servis>();

conn.Open();

try
{
cmd = new SqlCommand();
cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT opisId, klijentId, datum, opis_servisa FROM opisServisa WHERE klijentId = '" + k.Id.ToString() + "'";

SqlDataReader reader;
reader = cmd.ExecuteReader();

textBoxOpis.AcceptsReturn = true;

while (reader.Read())
{
Servis s = new Servis();
s.ServisId = int.Parse(reader["opisId"].ToString());
s.KlijentId = int.Parse(reader["klijentId"].ToString());
s.Datum = reader["datum"].ToString();
s.OpisServisa = reader["opis_servisa"].ToString();
if (textBoxID.Text != string.Empty && s.KlijentId == int.Parse(textBoxID.Text))
{
sList.Add(s);
}
}
conn.Close();
}
catch (Exception err)
{
MessageBox.Show("", err.Message);
}
return sList;
}
----------------------------------------------------------------------------------------------------
private void textBox_TextChanged(object sender, TextChangedEventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("select * from opisServisa", conn);

DataTable tabela = new DataTable();

da.Fill(tabela);

try
{
DataView dv = new DataView(tabela);

dv.RowFilter = string.Format("opis_servisa LIKE '%{0}%'", textBoxPretraga.Text);

dataGridServis.ItemsSource = dv;
}
catch (Exception err)
{
MessageBox.Show("", err.Message);
}
}
dn
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: C# pomoc datagrid03.12.2017. u 07:53 - pre 76 meseci
Po cemu treba da se filtrira opisServisa - po klijentId ili po opis_servisa?

Taj dataGridServis - kog je tipa? Ni DataGridView ni DataGrid nemaju ItemsSource..

Probaj da stavis brejkpointe na razna mesta i vidis da li promanljive sadrze ono sto ti zelis.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6275

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: C# pomoc datagrid03.12.2017. u 07:57 - pre 76 meseci
Možda grešiš i pšristupu?

DataGrid treba da vežeš na DataSource a sva filtriranja da radiš na DataSource.


 
Odgovor na temu

programiranjeCsharp
Darko Nikolic
nezaposlen
Negotin, Srbija

Član broj: 337658
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: C# pomoc datagrid03.12.2017. u 10:18 - pre 76 meseci
Treba da filtrira po polju opisu_servisa, a opisServisa je tabela.
Ovo je kod za combobox, kada se nesto izabera da prikaze sve vezano za to.
Sve ostalo radi, pokazuje podake u DataGridu kada se izabere neki korisnik.
A sto se tice pretrage ona radi, samo kada se kuca pretraga za neku rec izbacuje samo prazne kolone u kojima nema podataka. Kako da te podatke ucinim vidljivim?

private void comboBoxKlijent_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
List<Servis> servisList = new List<Servis>();
Klijent k = new Klijent();

conn.Open();

try
{
SqlDataReader reader;

cmd = new SqlCommand();
cmd = conn.CreateCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM Klijent WHERE naziv_klijenta='" + comboBoxKlijent.SelectedItem + "'";

reader = cmd.ExecuteReader();

while (reader.Read())
{
textBoxID.Text = reader["klijentId"].ToString();
textBoxNaziv.Text = reader["naziv_klijenta"].ToString();
textBoxTelefon.Text = reader["telefon"].ToString();
}

conn.Close();
}
catch (Exception err)
{
MessageBox.Show("SQL error" + err.Message);
}
try
{
k.Id = int.Parse(textBoxID.Text);
servisList = GetSevices(k);

this.dataGridServis.ItemsSource = servisList;
this.dataGridServis.DataContext = servisList;
}
catch (Exception err)
{
MessageBox.Show("" + err.Message);
}
}
dn
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: C# pomoc datagrid04.12.2017. u 08:12 - pre 76 meseci
Citat:
this.dataGridServis.ItemsSource = servisList;
this.dataGridServis.DataContext = servisList;

Ovde bi morao da se opredelis pa da koristis ili ItemsSource ili DataContext.
Sto se tice toga da ti se ne vidi sadrzaj - kolone liste ti verovatno pokazuju na pogresne propertije.

Uradi copy paste xaml fajla pa da vidimo.
 
Odgovor na temu

programiranjeCsharp
Darko Nikolic
nezaposlen
Negotin, Srbija

Član broj: 337658
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: C# pomoc datagrid04.12.2017. u 16:53 - pre 76 meseci
Resicu nekako to na drugi nacin, samo jos mala pomoc oko ovog..
Kada izaberem u datagridu neku kolonu i hocu da je izmenim, izvrsi se izmena u svim kolonama.
U cemu gresim u ovom kodu ?

public void update(Servis s, SqlConnection conn)
{
conn.Open();
try
{
SqlCommand update = new SqlCommand();
update.Connection = conn;
update.CommandType = CommandType.Text;
update.CommandText = "update opisServisa set datum = @date, opis_servisa = @opis";

update.Parameters.AddWithValue("@date", s.Datum);
update.Parameters.AddWithValue("@opis", s.OpisServisa);

update.ExecuteNonQuery();
}
catch (Exception err)
{
MessageBox.Show("" + err.Message);
}
conn.Close();
}

--------------------------------------------------------------------------------------------------------
private void buttonIzmena_Click(object sender, RoutedEventArgs e)
{
try
{
if (dataGridServis.SelectedItem != null)
{
Servis s = (Servis)dataGridServis.SelectedItem;

if (textBoxID.Text != string.Empty)
{
s.KlijentId = int.Parse(textBoxID.Text);
s.OpisServisa = textBoxOpis.Text;
s.Datum = datePicker.Text;
s.update(s, conn);
}
else
{
MessageBox.Show("No ID");
}
}

MessageBox.Show("Izvrsili ste izmenu !");
}
catch (Exception err)
{
MessageBox.Show("", err.Message);
}

datePicker.Text = "";
textBoxOpis.Clear();
datePicker.Focus();
}
dn
 
Odgovor na temu

ravni

Član broj: 8894
Poruke: 373



+15 Profil

icon Re: C# pomoc datagrid05.12.2017. u 07:46 - pre 76 meseci
U update komandi nedostaje
WHERE klijentId =@klijentId
 
Odgovor na temu

programiranjeCsharp
Darko Nikolic
nezaposlen
Negotin, Srbija

Član broj: 337658
Poruke: 6
*.dynamic.isp.telekom.rs.



Profil

icon Re: C# pomoc datagrid06.12.2017. u 17:11 - pre 76 meseci
Da li je moguce kada se klikne na neko polje u datagridu i klikne dugme prikazi, da se svi podaci za to polje prikazu u pdf formatu ?
dn
 
Odgovor na temu

[es] :: .NET :: C# pomoc datagrid

[ Pregleda: 1743 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.