Concatenar texto a un campo de una tabla
Como podrÃa concatenar un texto a un campo de la tabla y que me lo muestre en un datagrid, o en su defecto como juntar dos columnas de un datagrid
Lo mejor seria hacerlo en sql,
select cast(campo1 + campo2 as varchar(1000)) as campo3 from tabla.
Pero si tienes que hacerlo en codigo puedes crear una nueva DataColumn en la DataTable i definir como expresion la suma de las dos.
Tambien puedes hacerlo en el momento del bindeo.es decir si en tu pagina tienes algo asi
<%# DataBinder.Eval (Container.DataItem, "campo1")) %>
i
<%# DataBinder.Eval (Container.DataItem, "campo2")) %>
pasarlo a
<%# DataBinder.Eval (Container.DataItem, "campo1")) + DataBinder.Eval (Container.DataItem, "campo2")) %>
select cast(campo1 + campo2 as varchar(1000)) as campo3 from tabla.
Pero si tienes que hacerlo en codigo puedes crear una nueva DataColumn en la DataTable i definir como expresion la suma de las dos.
Tambien puedes hacerlo en el momento del bindeo.es decir si en tu pagina tienes algo asi
<%# DataBinder.Eval (Container.DataItem, "campo1")) %>
i
<%# DataBinder.Eval (Container.DataItem, "campo2")) %>
pasarlo a
<%# DataBinder.Eval (Container.DataItem, "campo1")) + DataBinder.Eval (Container.DataItem, "campo2")) %>
He probado con lo que me has dicho pero no funciona.
El problema es que necesito concatenar la palabra "GARA" a un campo numérico de la tabla. El resultado debe ser GARA1, GARA2... GARAn.
El problema es que necesito concatenar la palabra "GARA" a un campo numérico de la tabla. El resultado debe ser GARA1, GARA2... GARAn.
segun mi experiencia la mejor manera de hacer lo que quieres es la siguiente:
-crea una funcion en el codigo de este estilo
public string ObtenerCampo(object oDataRow)
{
return "GARA" +
((DataRow)oDataRow)["campo1"].ToString();
}
-en el binding:
<%# ObtenerCampo(Container.DataItem); %>
adapatandolo a tu codigo deberia funcionar sin problemas.
usa solo DataBinding.Eval cuando vayas a mostrar un campo tal cual, para cualquier cosa mas compleja usa una funcion
-crea una funcion en el codigo de este estilo
public string ObtenerCampo(object oDataRow)
{
return "GARA" +
((DataRow)oDataRow)["campo1"].ToString();
}
-en el binding:
<%# ObtenerCampo(Container.DataItem); %>
adapatandolo a tu codigo deberia funcionar sin problemas.
usa solo DataBinding.Eval cuando vayas a mostrar un campo tal cual, para cualquier cosa mas compleja usa una funcion
