[ mii @ 03.06.2006. 10:53 ] @
Pozdrav svima,radim jednu prostu aplikaciju za brisanje,kada je pokrenem sve se prikaze fino ,ali kad kliknem na link delete nestane cijeli prikaz datagrida(i ne izbrise nista) vjerovatno neka glupost...,ako neko vidi gresku neka javi ako zeli ...Hvala

<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<%@ import Namespace="System.Text" %>
<script runat="server">

OleDbConnection myConnection;
protected void Page_Load(Object Src, EventArgs E)
{
myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\ivanb.LJUBOMIR_IVAN\\Desktop\\database\\Authors.mdb");
if (!IsPostBack) BindGrid();
}
public void MyDataGrid_Delete(Object sender,
DataGridCommandEventArgs E)
{
String deleteCmd = "DELETE FROM Authors WHERE Id = @Id";
OleDbCommand myCommand = new OleDbCommand(deleteCmd, myConnection);
myCommand.Parameters.Add(new OleDbParameter("@Id",
OleDbType.Char, 11));
myCommand.Parameters["@Id"].Value =
MyDataGrid.DataKeys[(int)E.Item.ItemIndex];

myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
BindGrid();

}
public void BindGrid()
{
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\ivanb.LJUBOMIR_IVAN\\Desktop\\database\\Authors.mdb");
OleDbCommand myCommand = new OleDbCommand("SELECT *" +
" FROM Authors", myConnection);

myConnection.Open();
MyDataGrid.DataSource = myCommand.ExecuteReader();
MyDataGrid.DataBind();


}

</script>
<html>
<head>
<%-- Display the data in a DataGrid control. --%>
</head>
<body style="FONT: 10pt verdana">
<form runat="server">
<h3><font face="Verdana">Deleting a Row of Data</font>
</h3>
<span id="Message" runat="server" enableviewstate="false">
<p>
<ASP:DataGrid id="MyDataGrid" runat="server" Width="800" BackColor="#ccccff" BorderColor="black" ShowFooter="false" CellPadding="3" CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" DataKeyField="Id" OnDeleteCommand="MyDataGrid_Delete">
<Columns>
<ASP:ButtonColumn Text="Delete Author" CommandName="Delete" />
</Columns>
</ASP:DataGrid>
</p>
</span>
</form>
</body>
</html>
[ draganc__ @ 03.06.2006. 13:12 ] @
Serverski kod je sasvim u redu. Greska je u html kodu:
<span id="Message" runat="server" enableviewstate="false">, a treba
<span id="Message" runat="server" enableviewstate="true">, i tada ce sve raditi kako treba.

Takodje vidim i jednu stilsku pogresku:
Atribut myConnection je vidljiv u cijeloj klasi i inicijalizovan u Page_Load metodi, tako da u metodi BindGrid() ne moras ponovo inicijalizovati (slobodno stavi pod komentar).


[ mii @ 03.06.2006. 13:35 ] @
draganc__ hvala puno!!!!!!
kako neka glupost moze da oduzme puno vremena
Hvala jos jednom!