2013-06-18 3 views
0

У меня есть несколько поисковых запросов, которые включают выпадающий список, который нужно вызвать из столбца Assigned_To в моем RMS-db. Проблема заключается в том, что в раскрывающемся списке показано, что каждое значение повторяется. Например:Заполнение выпадающего списка с неповторяющимися значениями

Администратор:
Не установлено
Не установлено
"
"
"
Александра М.
Мартин Д.
Александра М.

Я хочу это должно выглядеть так:

Администратор:
Не назначен
Martin D.
Александра М.

«Не установлено» значение по умолчанию в случае, когда создается.

Вот мой код:

var db = Database.Open("RMS") ; 

var selectCommand = "SELECT * FROM RMS"; 
var formSSO = ""; 
var formAssigned_To = ""; 
var formCase_Status= ""; 
var fromDate = ""; 
var toDate = ""; 

    formSSO = Request.QueryString["formSSO"]; 
    formAssigned_To = "%" + Request["formAssigned_To"] + "%"; 
    formCase_Status = Request["formCase_Status"]; 
    fromDate = Request.QueryString["fromDate"]; 
    toDate = Request.QueryString["toDate"]; 

    selectCommand = "SELECT DISTINCT * FROM RMS WHERE 1=1"; 

if(!Request.QueryString["formSSO"].IsEmpty()) { 
    selectCommand +=" AND SSO LIKE @0"; 
} 

if(!Request.QueryString["formAssigned_To"].IsEmpty()) { 
    selectCommand +=" AND Assigned_To LIKE @1"; 
} 

if(!Request.QueryString["formCase_Status"].IsEmpty()) { 
    selectCommand +=" AND Case_Status = @2"; 
} 

if(!Request.QueryString["fromDate"].IsEmpty()) { 
    selectCommand +=" AND Created >= @3"; 
} 


if(!Request.QueryString["toDate"].IsEmpty()) { 
    selectCommand +=" AND Created <= @4"; 
} 



var data = db.Query(selectCommand, formSSO, formAssigned_To, formCase_Status, fromDate, toDate); 
var columns = new[]{"ID", "SSO", "Category", "System", "Subject", "Created", "Assigned_To"}; 
var grid = new WebGrid(data, ajaxUpdateContainerId: "grid", defaultSort: "ID", columnNames: columns); 
if (Request.QueryString[grid.SortDirectionFieldName].IsEmpty()) { 
grid.SortDirection = SortDirection.Descending; 
} 
} 

И это HTML поля формы для выпадающего списка:

<li class="form-line form-line-column" id="id_22"> 
<label class="form-label-top" id="label_22" for="input_22"> ADMIN </label> 
<div id="cid_22" class="form-input-wide">  
<select name="formAssigned_To"> 
@foreach(var row in data){ 
     <option></option> 
     <option value="@row.ID">@row.Assigned_To</option> 
    } 
    </select> 
    </div> 
    </li> 

ответ

0

Я понял! Я изменил свое поле формы к этому: (который имеет свой собственный SELECT DISTINCT, потому что конкретно в этой области

 <li class="form-line form-line-column" id="id_22"> 
     <label class="form-label-top" id="label_22" for="input_22"> ADMIN </label> 
     <div id="cid_22" class="form-input-wide">  
     <select name="formAssigned_To"> 
     <option></option> 
     @foreach(var row in db.Query("SELECT DISTINCT Assigned_To FROM RMS")){ 
     <option value="@row.Assigned_To">@row.Assigned_To</option> 
     } 
     </select> 
     </div> 
     </li> 

Я оставил SelectCommand вроде этого:.

selectCommand = "SELECT * FROM RMS WHERE 1=1"; 

Это было благодаря: CSHTML - SQL QUERY....WHERE [email protected]

1

Разве вы не можете просто использовать SELECT DISTINCT Assigned_To FROM RMS WHERE 1=1

Это даст вам различные значения для выпадающего меню, в противном случае вам нужно будет сделать это из полученных результатов.

+0

К сожалению, это не работает для меня:/Я думаю, что это из-за моих условий. – Alexandra

+0

Я использовал это, чтобы помочь мне! – Alexandra

Смежные вопросы