Novo

Forum kao aplikacija na telefonu

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

  • 9 odgovora
  • 3.015 pregleda

Najnovija ↓

Gridview i ASP.net in c# 15.09.2010. u 15:27 · pre 196 meseci #1
Pozdrav,

Naime radi se o sljedecem.

Slika:
http://img440.imageshack.us/img440/6867/capturehx.png

Kao sto vidite na slici imam tabelu po mjesecima za svakog zaposlenika i povise tabele je filtar za filtrirati korisnike po poziciji u firmi, drzavi koju zastupaju ili jednostavno po imenima.

Kolumne od 1 do 31 oznacavaju dan u mjesecu. Postoji li nacin da program provjeri za mene sadrzaj svakog cella od kolumne 1 do 31 i zamjeni sadrzaj nekom bojom.

Recimo ako je korisnik slobodan u danima 1,2,3,4 u mjesecu . U bazu cu unjeti vrijednost F pod te datume. A kod prikaza htio bi da mi taj sadrzaj F bude prikazan recimo bojom. Da mi oboja cell u crvenu boju i sakrije sadrzaj F. Nesto kao legenda slobodnih dana, i slicno.

Hvala unaprijed.
Re: Gridview i ASP.net in c# 15.09.2010. u 18:26 · pre 196 meseci #2
Podesi DataGrid da poziva sledeću metodu na "OnRowDataBound" eventu:

Code:

protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[0].BackColor = System.Drawing.Color.Gray;
            //ili neka tvoja logika. Možeš foreach petljom da prođeš kroz sve cells i svakoj podesiš 
            //odgovarajuću boju zavisno od vrednosti koja se unutra nalazi.
        }
    }



Gornja funkcija se poziva kad god se novi red doda u grid.
Potpis
Expert Opinions - Niche Articles
Re: Gridview i ASP.net in c# 17.09.2010. u 21:59 · pre 196 meseci #4
Ako zanima nekog rjesenje je bilo sljedece:

Code:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {

        if (e.Row.RowType == DataControlRowType.DataRow)
            {
                for (int i = 0; i < e.Row.Cells.Count; i++)
                {
                    if ((e.Row.Cells[i].Text == "F") | (e.Row.Cells[i].Text == "f"))
                        e.Row.Cells[i].BackColor = System.Drawing.Color.Red;
                 }
              }
          }


Pozdrav :)
Re: Gridview i ASP.net in c# 17.09.2010. u 22:42 · pre 196 meseci #5
@toxy& kravko
Citat:
if ((e.Row.Cells.Text == "F") | (e.Row.Cells.Text == "f"))
e.Row.Cells.BackColor = System.Drawing.Color.Red;


Mislim da bi ovakve stvari trebalo da se resavaju na client side-u (ASP NET 4 donosi mogucnost kontrolisanja clientID-a) jer se odnose iskljucivo na nacin na koji ce element biti prikazan.
Takodje, mozda bi moglo i ovako
Code:
string.Equals(e.Row.Cells[i].Text , "f", StringComparison.OrdinalIgnoreCase))
...
Re: Gridview i ASP.net in c# 17.09.2010. u 23:46 · pre 196 meseci #6
Za mene kao pocetnika svako rjesenje je super. Ali hvala. Nauciti cu s vremenom
Re: Gridview i ASP.net in c# 18.09.2010. u 00:04 · pre 196 meseci #8
Koliko ja znam u vecini slucajeva lose. Dosta ljudi I studenata radi freelancerski za inozemne firme. Place 4 puta vece, rad od kuce I ne kasne :)
Ja sam vise u supportu za browswr igre. Ovo mi je hobi .

Pozdrav
Re: Gridview i ASP.net in c# 18.09.2010. u 21:21 · pre 196 meseci #9
Citat:
branimir.ts:
Mislim da bi ovakve stvari trebalo da se resavaju na client side-u (ASP NET 4 donosi mogucnost kontrolisanja clientID-a) jer se odnose iskljucivo na nacin na koji ce element biti prikazan.

Heh, jel bi mogo ovo malo da obrazložiš? Dakle, zašto bi pisao client side kod koji će formatirati tabelu, ili bilo šta? Ne vidim prednost u odnosu na slučaj gde to radiš na serveru...
Potpis
Expert Opinions - Niche Articles
Re: Gridview i ASP.net in c# 18.09.2010. u 22:18 · pre 196 meseci #10
@toxy
Zato jer dobijas kod koji je laksi za odrzavanje - pogotovu kada je timski rad u pitanju. Zasto bi programer morao da se petlja u nesto sto bi trebalo /moglo biti posao web design-era - napominjem u ovom slucaju se radi o prikazu i samo o prikazu.

Daleko od toga da kod koji je napisan iznad ne valja - naprotiv, sasvim je u skladu sa asp net serverskim kontrolama. Ali, u praksi sam se nagledao mnogo primera gde formiranje markupa ili pak nacina na koji ce markup biti prikazan u code behindu vodi direktno u ono sto se zove spageti kod - uzasno tesko za odrzavanje.

Zar ne mislis da bi bilo bolje pomocu nekog js frameworka na klijentu dohvatiti referencu elementa u DOM-u i lako podesiti izgled, prikaz, sta god vec :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme