Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Problema campo EditItemTemplate (https://www.clubdelphi.com/foros/showthread.php?t=58485)

mamen 22-07-2008 08:46:49

Problema campo EditItemTemplate
 
Hola a todos!!!!

Tengo un datagrid con dos columnas una es el nombre del elemento y otra su valor, la columna valor en el caso de q el elemento sea el nombre de la via, al editarlo debe mostrar sólo la lista de vias disponible para ese municipio, y en otros casos (por ejemplo cuando es el numero de via) muestra sólo el textbox. El problema viene cuando al editar me muestra tanto la lista desplegable como el textbox, quiero ocultar una u otra dependiendo del elemento q tenga editado. No se en q evento poner estas condiciones, he probado en el EditCommand pero no reconoce los controles del EditItemTemplate (lógico sólo está el control label con el valor del elemento), en el ItemDataBound tampoco y en el metodo RellenarVias del datasource del Dropdownlist tampoco. Cómo lo puedo hacer????

También necesito q cuando me muestre la lista de vias, en esta esté seleccionado por defecto el valor q tenia el control label antes de editarlo. Esto creo q lo debo poner en el método RellenarVias (el código lo he puesto mas abajo), pero no se cómo, ya que asigno un dataview directamente al datasource de la lista, en un dataview se puede poner un valor seleccionado por defecto, cómo???

El codigo del datagrid es el siguiente:

<ItemTemplate>
<asp:Label id="valor" runat="server"
text='<%# DataBinder.Eval(Container, "DataItem.v_elemento") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtvalor" runat="server" width="115px"
text='<%# DataBinder.Eval(Container, "Dataitem.v_elemento") %>'></asp:TextBox>
<asp:DropDownList id="dlstvias" runat="server" width="240px" autopostback="True" DataSource="<%# RellenarVias() %>" DataTextField="snvia"
DataValueField="snvia" />
</EditItemTemplate>

El código del método RellenarVias:

function TWebfmReciboConsulta.RellenarVias():DataView;
var
ds_vias,ds_resultado:DataSet;
dt:DataView;
i:Integer;
tvias:DataTable;
Row1:DataRow;
col1:DataColumn;
dgrid:DataGrid;
begin
if codelemento='4' then begin
c:=TConexion.Create;
c.conexion :=Ca.Ingres.Client.IngresConnection.Create;
c.OpenConexion(c.conexion, Session['annoactual'].toString,Session['conexion'].toString,Session['codmpio'].toString);

via:=TVia.Create;
ds_vias:=via.ObtenerVias(c.conexion ,'001','13', Session['nmpio'].toString);
tvias:=System.Data.DataTable.Create;
col1:=System.Data.DataColumn.Create ('snvia');
tvias.Columns.Add(col1);
row1:=tvias.NewRow();
row1['snvia']:= 'Seleccione una via';
tvias.Rows.Add(row1);

for i:=0 to (ds_vias.Tables[0].Rows.Count-1) do begin
row1:=tvias.NewRow();
row1['snvia']:= ds_vias.Tables[0].Rows[i].Item['s_via'].toString + ' '+ ds_vias.Tables[0].Rows[i].Item['nc_via'].toString;
tvias.Rows.Add(row1);
end;
dt:=DataView.Create(tvias);
result:=dt;
c.CloseConexion(c.conexion);
end;
end;

Muchas gracias por todo. Espero vuestra ayuda. Chao


La franja horaria es GMT +2. Ahora son las 19:51:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi