[Mono-bugs] [Bug 42939][Wis] New - Problemas con DataGrid

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Tue, 13 May 2003 17:53:54 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by abel@uajms.edu.bo.

http://bugzilla.ximian.com/show_bug.cgi?id=42939

--- shadow/42939	Tue May 13 17:53:54 2003
+++ shadow/42939.tmp.30885	Tue May 13 17:53:54 2003
@@ -0,0 +1,131 @@
+Bug#: 42939
+Product: Mono/Class Libraries
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: System.Web
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: abel@uajms.edu.bo               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Problemas con DataGrid
+
+Description of Problem:
+El Objeto DataGrid no guarda su estado.
+El el siguiente codigo, los valores del TextBox se pierden cuando haces un
+click en el boton "Mostrar notas", por lo tanto no puedo recuperar los los
+valores introducidos.
+Estoy trabajando con la version de mono-0.24, XSP-0.4 y mcs-0.24
+en un servidor Linux-Debian
+
+Otro problema es que el la propiedad EnableViewState del DataGRid aun no
+puede ser "true", creo que es lo que causa que se pierdan los valores del
+TextBox.
+
+Steps to reproduce the problem:
+este es el codigo:
+
+//************
+
+<%@ Page Language="c#" %>
+
+<%@ Import Namespace="System.Data" %>
+
+<html>
+
+<script runat="server">
+
+  ICollection CreateDataSource() {
+    DataTable tabla = new DataTable();
+    DataView vista;
+    DataRow fila;
+    tabla.Columns.Add(new DataColumn("ruValue", typeof(int)));
+    tabla.Columns.Add(new DataColumn("notaValue", typeof(int)));
+    for (int i = 0; i < 4; i++) {
+      fila = tabla.NewRow();
+      fila[0] = i;
+      fila[1] = (i + 1) * 10;
+      tabla.Rows.Add(fila);
+    }
+    vista = new DataView(tabla);
+    return vista;
+  }
+  
+  void Page_Load(Object o, EventArgs e) {
+    if (!IsPostBack || Session["_vista"] == null) {
+      Session["_vista"] = CreateDataSource();
+    }
+    dgnotas.DataSource = (DataView) Session["_vista"];
+    dgnotas.DataBind();
+  }
+  
+  void mostrarnotas(Object o, EventArgs e) {
+    for (int i = 0; i < dgnotas.Items.Count; i++) {
+      DataGridItem _item = dgnotas.Items[i];
+      TextBox texto = (TextBox)_item.FindControl("txtnota");
+      Response.Write("hola " +texto.Text);
+    }
+  }
+
+</script>
+
+<body>
+<form runat=server>
+
+  <asp:DataGrid id="dgnotas" BorderWidth=1 AutoGenerateColumns=false
+       EnableViewState=false runat=server >
+    <Columns>
+      <asp:BoundColumn HeaderText="R. U." DataField="ruValue" />
+      <asp:BoundColumn HeaderText="Nota" DataField="notaValue" />
+      <asp:TemplateColumn HeaderText="Edite">
+        <ItemTemplate>
+          <asp:TextBox id="txtnota" runat=server
+	       Text='<%# DataBinder.Eval(Container, "DataItem.notaValue") %>'
+	       Width=25px />
+        </ItemTemplate>
+      </asp:TemplateColumn>
+    </Columns>
+  </asp:DataGrid>
+
+  <br><br>
+  <asp:Button id="gnotas" Text="Mostrar" Onclick="mostrarnotas" runat=server />
+
+</form>
+</body>
+</html>
+
+
+//************
+
+
+Actual Results:
+Los valores de TextBox se pierden.
+Cuando la propiedad EnableViewState es "true", me muestra el si
+me muestra el mensaje:
+  System.ArgumentException: Invalid_DataSource_Type: dgAsignar
+  in <0x000fe> 00 System.Web.UI.WebControls.BaseDataList:set_DataSource
+(object)
+in <0x00054> 00 ASP.adx1_aspx:Page_PreRender (object,System.EventArgs)
+in <0x00076> 01 System.MulticastDelegate:invoke_void_object_EventArgs
+(object,System.EventArgs)
+in <0x00086> 00 System.Web.UI.Control:OnPreRender (System.EventArgs)
+in <0x00051> 00 System.Web.UI.Control:PreRenderRecursiveInternal ()
+in <0x00108> 00 System.Web.UI.Page:ProcessRequest (System.Web.HttpContext)
+in <0x001ac> 00 .ExecuteHandlerState:Execute ()
+in <0x0004e> 00 .StateMachine:ExecuteState (IStateHandler,bool&)
+
+
+
+Expected Results:
+Que muestre el contenido del TextBox.
+
+How often does this happen? 
+Siempre
+
+Additional Information: