All ok but I have some trouble with a checkbox: when I am in update
mode and I update the record, this field is never updated (no errors
thrown).
The field bounded in the database (MySql) is a string field
(ENUM('True','False') default 'False'.
The checkbox is correctly bounded in the itemtemplate and in the
edititemtemplate.
Here is the formview:
Expand|Select|Wrap|Line Numbers
- <asp:FormView ID="fwAgente" runat="server"
- AllowPaging="True"
- DataKeyNames="ID"
- DataSourceID="AgenteDataSource">
- <ItemTemplate>
- <table>
- <tr><td align="right"><b>ID:</b></td>
- <td><%# Eval("ID") %></td></tr>
- <tr><td align="left" style="height:
- 21px"><b>Nome:</b></td><td style="width: 5px; height: 21px"><%#
- Eval("Nome") %></td></tr>
- <tr><td align="left"><b>Cognome:</b></td>
- <td style="width: 5px"><%# Eval("Cognome") %></td></tr>
- <tr><td align="left"><b>Telefono:</b></td>
- <td style="width: 5px"><%# Eval("Telefono") %></td></tr>
- <tr>
- <td style="width:7%">Annullato: </td>
- <td style="width:6%">
- <asp:CheckBox ID="chkAnnAg"
- runat="server" Enabled="false"
- Checked ='<%#
- Convert.ToBoolean(Eval("annullato")) %>' />
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <asp:LinkButton ID="EditButton"
- Text="Edit"
- CommandName="Edit"
- RunAt="server"/>
-
- <asp:LinkButton ID="NewButton"
- Text="New"
- CommandName="New"
- RunAt="server"/>
-
- <asp:LinkButton ID="DeleteButton"
- Text="Delete"
- CommandName="Delete"
- RunAt="server"/>
- </td>
- </tr>
- </table>
- </ItemTemplate>
- <EditItemTemplate>
- <table>
- <tr><td align="right"><b>ID:</b></td>
- <td><asp:TextBox ID="EditIDTextBox"
- Enabled="false"
- Text='<%# Bind("ID") %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Nome:</b></td>
- <td><asp:TextBox ID="EditNomeTextBox"
- Text='<%# Bind("Nome")
- %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Cognome:</b></td>
- <td><asp:TextBox ID="EditCognomeTextBox"
- Text='<%#
- Bind("Cognome") %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Telefono:</b></td>
- <td><asp:TextBox ID="EditTelefonoTextBox"
- Text='<%#
- Bind("Telefono") %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Annullato:</b></td>
- <td style="width:6%">
- <asp:CheckBox ID="chkAnnAg"
- runat="server" Enabled="true"
- Checked ='<%#
- Convert.ToBoolean(Eval("annullato")) %>' />
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <asp:LinkButton ID="UpdateButton"
- Text="Update"
- CommandName="Update"
- RunAt="server"/>
-
- <asp:LinkButton ID="CancelUpdateButton"
- Text="Cancel"
- CommandName="Cancel"
- RunAt="server"/>
- </td>
- </tr>
- </table>
- </EditItemTemplate>
- <InsertItemTemplate>
- <table>
- <tr><td align="right"><b>Login:</b></td>
- <td><asp:TextBox ID="InsertLoginTextBox"
- Text='<%# Bind("Login")
- %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Nome:</b></td>
- <td><asp:TextBox ID="InsertNomeTextBox"
- Text='<%# Bind("Nome")
- %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Cognome:</b></td>
- <td><asp:TextBox
- ID="InsertCognomeTextBox"
- Text='<%#
- Bind("Cognome") %>'
- RunAt="Server"
- /></td></tr>
- <tr><td align="right"><b>Telefono:</b></td>
- <td><asp:TextBox
- ID="InsertTelefonoTextBox"
- Text='<%#
- Bind("Telefono") %>'
- RunAt="Server"
- /></td></tr>
- <tr>
- <td colspan="2">
- <asp:LinkButton ID="InsertButton"
- Text="Insert"
- CommandName="Insert"
- RunAt="server"/>
-
- <asp:LinkButton ID="CancelInsertButton"
- Text="Cancel"
- CommandName="Cancel"
- RunAt="server"/>
- </td>
- </tr>
- </table>
- </InsertItemTemplate>
- </asp:FormView>
Expand|Select|Wrap|Line Numbers
- <asp:ObjectDataSource ID="AgenteDataSource"
- runat="server"
- DataObjectTypeName="Reminder.Agente"
- TypeName="Reminder.Agente"
- DeleteMethod="Delete"
- InsertMethod="Insert"
- SelectMethod="GetDataTable"
- UpdateMethod="Update"
- OldValuesParameterFormatString="original_{0}"
- OnUpdated="AgenteDataSource_Updated"
- OnObjectCreated = "genteDataSource_ObjectCreated"
- OnInserted="AgenteDataSource_Updated"
- OnDeleted="AgenteDataSource_Updated"
-
- >
- <SelectParameters>
- <asp:Parameter Name="vId" Type="String" />
- <asp:Parameter Name="vAnn" Type="String" />
- </SelectParameters>
- </asp:ObjectDataSource>
Expand|Select|Wrap|Line Numbers
- public class Agente
- {
- private MySqlConnection cnn = new MySqlConnection();
- protected int _id;
- protected string _login;
- protected string _nome;
- protected string _cognome;
- protected string _telefono;
- protected string _annullato;
- protected string _loginmod;
- //public Agente(string login, string nome, string cognome, string
- telefono)
- public Agente()
- {}
- public int ID
- {
- get { return _id; }
- set { _id = value; }
- }
- public string Login
- {
- get { return _login; }
- set { _login = value; }
- }
- public string Nome
- {
- get {return _nome;}
- set { _nome = value; }
- }
- public string Cognome
- {
- get { return _cognome; }
- set { _cognome = value; }
- }
- public string Telefono
- {
- get { return _telefono; }
- set { _telefono = value; }
- }
- public string Annullato
- {
- get { return _annullato; }
- set { _annullato = value.ToString(); }
- }
Expand|Select|Wrap|Line Numbers
- public void Update(Agente _A)
- {
- Agente AgNow = new Agente(); //AgNow=dati presenti adesso da
- aggiornare
- AgNow.AutoLoadByID(_A.ID);
- //aggiorno i dati di AgNow con quelli dell'update se presenti
- //if (_A.ID != null) AgNow.ID = _A.ID;
- if (_A.Login != null) AgNow.Login = _A.Login;
- if (_A.Nome != null) AgNow.Nome = _A.Nome;
- if (_A.Cognome != null) AgNow.Cognome = _A.Cognome;
- if (_A.Telefono != null) AgNow.Telefono = _A.Telefono;
- if (_A._annullato != null) AgNow.Annullato = _A.Annullato;
- MySqlCommand cmd = new MySqlCommand();
- if (cnn.ConnectionString == string.Empty)
- cnn.ConnectionString =
- ConfigurationManager.ConnectionStrings["reminder_local"].ToString();
- cmd.Connection = cnn;
- cmd.CommandType = CommandType.StoredProcedure;
- cmd.Parameters.Add(new MySqlParameter("P_ID", AgNow.ID));
- cmd.Parameters.Add(new MySqlParameter("P_login", AgNow.Login));
- cmd.Parameters.Add(new MySqlParameter("P_nome", AgNow.Nome));
- cmd.Parameters.Add(new MySqlParameter("P_cognome",
- AgNow.Cognome));
- cmd.Parameters.Add(new MySqlParameter("P_telefono",
- AgNow.Telefono));
- cmd.Parameters.Add(new MySqlParameter("P_annullato",
- AgNow.Annullato));
- cmd.Parameters.Add(new MySqlParameter("P_loginmod",
- Glob.vLogin));
- cmd.CommandText = "spUpdateAgente";
- try
- {
- if (cnn.State == ConnectionState.Closed)
- cnn.Open();
- cmd.ExecuteNonQuery();
- cnn.Close();
- }
- catch (MySqlException Exception)
- { throw (Exception); }
- }