[ KengurBGD @ 06.07.2012. 22:09 ] @
Pozdrav radim neki projekat u Visual Studio a imam početno znanje C#.
Imam dve stranice na jednoj je Gridview koji prikazuje podatke iz Access baze (ID,Naziv proizvoda, Opis, Cena,Checkbox) i korisnik ima mogućnost da obeleži (čekira) koji proizvod zeli da kupi odnosno da ga posalje u "korpu".
Na stranici korpa je prikazano koji su proizvodi čekirani i kolika je vrednost njihove ukupne cene.
Da bih neki proizvod "čekirao" moram da preko dugmeta Edit pređem u edit-mode od Gridview od određenog reda i da kad promenim vrednost Check/Uncheck zatim kliknem Update da bi se ta vrednost sačuvala.

Mene zanima da li postoji mogućnost da Checkbox-ovi budu uvek "uključeni" tako da ne moram da idem na Edit da bi ih čekirao i da se njihova vrednost (Check/Uncheck-True/False) automatski čuva tako da ne moram da kliknem Update?

GridView sa mojim problemom:
http://www.sendspace.com/file/ul6393

[Ovu poruku je menjao KengurBGD dana 07.07.2012. u 13:33 GMT+1]
[ S A J A @ 07.07.2012. 11:36 ] @
To sve zavisi od samog grida. Pogledaj u njemu da li ima opcija da checkboxovi inicijalno budu uključeni. Ako ne postoji onda imaš varijantu da posle loadovanja stranice ti pređeš sva polja i checkiraš ih iz koda. Još jedna bitna stvar je da li se checkiranje radi na server ili client strani. Ako je client strani onda je jednostavnije, korisnih samo selektuje a kad uradi "Korpa" ili šta već, ti pročitaš koji su selektovani i pošalješ na server. Ako ti treba serversko checkiranje onda na grid kontroli uključi postback za svaki check/uncheck klik tako da se odmah na server (u bazu šalje) informacija da li je nešto checkirano. Naravno, u tom slučaju grid moraš da staviš "u ajax" da ti se ne bi refrešovala cela strana kad neko nešto checkira. Dakle varijanti ima dosta, ne znam koji grid koristiš pa ne mogu konkretnije da pomognem. A nemam vremena da sad skidam tvoj projekat pa da isprobavam.
[ KengurBGD @ 07.07.2012. 13:07 ] @
Radi se na klijentskoj strani, klijent čekira šta želi pa se komanda šalje serveru da bi se direktno izvršile promene u bazi(access 2003 baza.mdb), može da se "uključi" da bude uvek prikazan tako što CheckBoxField konvertujem u Template field ali ne znam kako da namestim da automatski čuva te vrednosti kad kliknem na checkbox. Odnosno mogu da klikćem checkbox ali ne čuva vrednosti, opet moram da pristupi "Edit modu" Edit/Update da bih sačuvao te vrednosti.
Citat:
u tom slučaju grid moraš da staviš "u ajax" da ti se ne bi refrešovala cela strana kad neko nešto checkira

Fajl mi je u aspx pošto je upitanju ASP.Net web form-a ne refrešuje celu stranu.

Citat:
Ako ti treba serversko checkiranje onda na grid kontroli uključi postback za svaki check/uncheck klik tako da se odmah na server (u bazu šalje) informacija da li je nešto checkirano.

Ovo imam dostupno od opcija:


PS nisam upload ceo projekat samo sam upload fajl od visual studio izdvojeno taj Grid da se lakse vidi konkretno na šta mislim, moja greška trebao sam da stavim i kod pa evo ga.

<asp:GridView ID="GridView1"
runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
DataSourceID="AccessDataSource1"
EmptyDataText="There are no data records to display." CellPadding="4"
ForeColor="#333333" GridLines="None" HorizontalAlign="Center">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="Ime" HeaderText="Ime" SortExpression="Ime" />
<asp:BoundField DataField="Sastav" HeaderText="Sastav"
SortExpression="Sastav" />
<asp:BoundField DataField="Cena" HeaderText="Cena" SortExpression="Cena" />

<asp:TemplateField HeaderText="UKorpi" SortExpression="UKorpi">

<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("UKorpi") %>' />
</EditItemTemplate>

<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("UKorpi") %>'
Enabled="True" />
</ItemTemplate>

</asp:TemplateField>

<asp:ImageField DataImageUrlField="Slika">
</asp:ImageField>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="App_Data\Baza.mdb"
DeleteCommand="DELETE FROM `Sendvici` WHERE `ID` = ?"
InsertCommand="INSERT INTO `Sendvici` (`ID`, `Ime`, `Sastav`, `Cena`, `Slika`, `UKorpi`) VALUES (?, ?, ?, ?, ?, ?)"
SelectCommand="SELECT `ID`, `Ime`, `Sastav`, `Cena`, `Slika`, `UKorpi` FROM `Sendvici`"
UpdateCommand="UPDATE `Sendvici` SET `Ime` = ?, `Sastav` = ?, `Cena` = ?, `Slika` = ?, `UKorpi` = ? WHERE `ID` = ?">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="Ime" Type="String" />
<asp:Parameter Name="Sastav" Type="String" />
<asp:Parameter Name="Cena" Type="Decimal" />
<asp:Parameter Name="Slika" Type="String" />
<asp:Parameter Name="UKorpi" Type="Boolean" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Ime" Type="String" />
<asp:Parameter Name="Sastav" Type="String" />
<asp:Parameter Name="Cena" Type="Decimal" />
<asp:Parameter Name="Slika" Type="String" />
<asp:Parameter Name="UKorpi" Type="Boolean" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
</asp:AccessDataSource>

[Ovu poruku je menjao KengurBGD dana 07.07.2012. u 14:39 GMT+1]