Сейчас я работаю с функцией поиска. У меня есть текстовое поле и кнопка и поиск в базе данных, полной сотрудников. В другой веб-части сотрудники имеют возможность сохранить свои технические навыки в базе данных, а также на каком уровне они находятся (Beginner, Intermediate, Advanced или Expert). Когда я как администратор хочу найти сотрудника, который знает, например, C#, то я просто его ищу, и все сотрудники с навыком появляются в gridview.Фильтровать результаты поиска по базе данных
Но мой вопрос здесь:
Можно ли отфильтровать эти результаты? Например, если я поместил в checkboxlist после поиска, и я хочу фильтровать на сотрудников, которые являются «Экспертами» на C#, можно ли просто их отображать? Извините за мой английский, но я сделал все возможное. Надеюсь, я получу ответ.
Вот пример кода, как я ищу:
private void SearchEmployeeSkillEng()
{
using (var db = new KnowItCvdbEntities())
{
var searchTechSkill = (from p in db.EMPLOYEES
join ets in db.EMPLOYEES_TECHNICAL_SKILLS on p.employee_id equals
ets.employee_id
join ts in db.TECHNICAL_SKILLS_VALUES on ets.technical_skill_value_id
equals
ts.technical_skill_value_id
join tsl in db.TECHNICAL_SKILL_LEVEL on ets.technical_skill_level_id
equals
tsl.technical_skill_level_id
where
ts.skill_name.Contains(TextBoxSearchCvEng.Text) ||
ets.skill_name_other.Contains(TextBoxSearchCvEng.Text)
select new TechnicalSkillsSearch()
{
EmployeeId = p.employee_id,
FirstName = p.firstname,
LastName = p.lastname,
TechnicalSkillValueId = ts.technical_skill_value_id,
SkillName = ts.skill_name,
SkillNameOther = ets.skill_name_other,
SkillType = ts.skill_type,
TechnicalSkillLevelId = tsl.technical_skill_level_id,
SkillLevel = tsl.skill_level
}).ToList();
if(searchTechSkill.Count > 0)
{
LabelException.Visible = false;
foreach (var vTechSkill in searchTechSkill)
{
if (vTechSkill != null)
{
if (vTechSkill.SkillNameOther != null)
{
if (!_searchEmpListEng.Contains(vTechSkill.FirstName + " " + vTechSkill.LastName + "," +
vTechSkill.EmployeeId))
{
_searchEmpListEng.Add(vTechSkill.FirstName + " " + vTechSkill.LastName + "," +
vTechSkill.EmployeeId.ToString());
}
}
else
{
if (!_searchEmpListEng.Contains(vTechSkill.FirstName + " " + vTechSkill.LastName + "," +
vTechSkill.EmployeeId))
{
_searchEmpListEng.Add(vTechSkill.FirstName + " " + vTechSkill.LastName + "," +
vTechSkill.EmployeeId.ToString());
}
}
}
}
}
else
{
LabelException.Visible = true;
LabelException.Text = "Nothing found";
}
_dtEng.Clear();
}
}
TECHNICAL_SKILLS_VALUES является, например, C#, MS Access и т.д. и TECHNICAL_SKILL_LEVEL является, например, Expert, Beginner и т.д.
Ваш, Kristian
Да, это возможно. Вы изменяете свой запрос, чтобы включить новый фильтр или фильтровать клиентскую часть GridView. Поместите некоторый код. Извините, не уверен в SharePoint. –
@SamLeach, просто укажите пример изображения и кода. – Kriistiian