¿Puedo tener múltiples valores en un DataValueField?

¿Es posible poner múltiples valores en un DataValueField?

Por ejemplo, con el siguiente código:

<asp:DropDownList ID="ixTeam" CssClass="ixTeam" runat="server" DataSourceID="dsixTeam" 
 DataValueField="TeamID" DataTextField="TeamName" AppendDataBoundItems="true">

¿Es posible para mí poner dos valores (por ejemplo, TeamID + "|" + TeamTypeID) en el DataValueField?

preguntado el 30 de julio de 12 a las 05:07

4 Respuestas

No puede combinar dos campos en DataValueField, pero puedes probar un par de cosas.

  1. Puede crear su consulta SQL con concatenación (si está obteniendo los datos de la base de datos)

Consulta SQL:

Select (TeamID +"|"+ TeamTypeID) as CombinedTeam, .....`

y luego establecer

DataFieldValue = "CombinedTeam"

Or

  1. Puede usar la consulta LINQ para crear un tipo anónimo basado en la concatenación de dos campos.

por ejemplo:

var query = from t in yourDataSource
            select new 
            {
                 CombinedTeam = t.TeamID + "|" + t.TeamTypeID,
            } 

A continuación, especifique el origen de datos para el menú desplegable de la consulta LINQ y especifique el DataFieldValue

yourDropDownList.DataSource = query;
yourDropDownList.DataFieldValue = "CombinedTeam";

Respondido 30 Jul 12, 05:07

La respuesta corta es que no puedes.

En su lugar, cree una columna calculada en su conjunto de datos que tenga TeamID + '|' + TeamTypeID para su expresión (también puede hacer esto cuando obtiene los datos agregando una columna de visualización formateada a su consulta de selección, asumiendo que está usando una base de datos), luego vincule esa columna en su lugar.

Respondido 30 Jul 12, 05:07

Sí, se puede hacer. Formatee sus datos cuando los recupere del servidor SQL de la siguiente manera:

Select TeamID + ' | ' + TeamTypeID CombinedColumn

Ahora configure el DataValueField=CombinedColumn

Respondido 30 Jul 12, 05:07

SELECT  CAST(TeamID AS VARCHAR(100)) + ' | ' + CAST(TeamTypeID AS VARCHAR(100)) as CombinedColumn, TeamID ,TeamTypeID FROM [tblName]

Esto funciona para mí, el resto está dando conversión a errores int.

Respondido el 11 de junio de 21 a las 10:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.