現在、私は検索機能を使用しています。テキストボックスとボタンがあり、従業員でいっぱいのデータベースを検索しています。別の Web パーツでは、従業員は自分の技術スキルをデータベースに保存し、自分のレベル (初級、中級、上級、または専門家) を保存することもできます。私が管理者として C# などを知っている従業員を探したい場合は、検索するだけで、スキルを持つすべての従業員がグリッドビューに表示されます。
しかし、ここでの私の質問は次のとおりです。
それらの結果をフィルタリングすることは可能ですか? たとえば、検索後にチェックボックス リストを挿入し、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 などです。
あなたの、クリスチャン