sql >> Base de Datos >  >> Database Tools >> SSMS

Rellenar el menú desplegable con los valores de la base de datos en el marco de juego

El marco de juego proporciona una biblioteca auxiliar de plantillas que brinda funcionalidad para crear un menú desplegable de selección con opciones y valores seleccionados. Es bastante simple de usar una vez que se entiende correctamente.

El método @helper.select() a la vista toma varios parámetros relacionados con un campo de entrada de tipo seleccionado. El primer parámetro es el campo de formulario, dado que aquí no tenemos ningún formulario, podemos crear un formulario temporal y crear un nuevo campo dentro con el nombre Consultor [ya que este será el valor del atributo de nombre del campo seleccionado]. El segundo parámetro será el mapa de opciones en las que la clave y el valor corresponden al valor de la etiqueta de opción y al texto encerrado en la etiqueta de opción respectivamente.

Código del controlador

package controllers;

import models.Client;

import play.mvc.*;
import views.html.*;

public class Application extends Controller {


    public static Result index(){

        return ok(index.render(Client.getClientDetails()));
    }

}

Código de modelo

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;

import play.db.ebean.Model;
public class Client extends Model {

    /**
     * 
     */
    private static final long serialVersionUID = -1932214701504374792L;
    public static String ClientName;
    public static HashMap<String, String> Clientdetail= new HashMap<String, String>();
    public static HashMap<String, String> getClientDetails() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433","SUMEET","sumeet");
            Statement sta = conn.createStatement();
            String Sql = "select * from client";
            ResultSet rs = sta.executeQuery(Sql);
            while (rs.next()) {
                ClientName = rs.getString("ClientName");
                Clientdetail.put(ClientName,ClientName);
               }

        } catch (InstantiationException | IllegalAccessException
                | ClassNotFoundException |SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return(Clientdetail);

    }

}

Ver código:index.scala.html

@(ClientDetails: java.util.HashMap[String, String])

@import helper._

@main("ADMS") {

   <center>
    <form id="select">
   <a>CONSULTANT</a>
   @select(Form.form()("Consultant"),           
       options(ClientDetails),
       'value -> "clientName1"[any value that should be selected by default])
     <table border="1">
       <tr>
       <td width=50px>Client</td>
       <td width=50px>Project</td>
       <td width=50px>Task</td>
       <td width=50px>Date</td>
       <td width=50px>Consultant</td>
       <td width=50px>Role</td>
       <td width=80px>Is Billable</td>
       </tr>
       <tr>
       <td>@ClientDetails</td>
       </tr>
       </table>
      </form>
   </center>
}