2
このコードでは、 'chklstDepartment'は複数の値を持っていますが、最初に選択した項目のみを表示しています。 選択したすべてのチェックボックスリストの値に対してデータをバインドする方法を教えてください。IN節のようにLINQ内の複数のチェックボックスリストの値を比較する方法SQL
List<LessonLearnDetails> objLessonDetails = objLessonDashboard.getLessonLearntDetails();
var searchData = objLessonDetails
.Where(i => ddlAsset.SelectedValue == "0" ||
i._Asset.AssetID == ddlAsset.SelectedValue)
.Where(i => ddlAuditType.SelectedValue == "0" ||
i._Audit.AuditTypeID == ddlAuditType.SelectedValue)
.Where(i => chklstDepartment.SelectedValue == "0" ||
i._Department.DepartmentID == chklstDepartment.SelectedValue)
.Where(i => ddlStartYear.SelectedItem.Text == "--Select All--" ||
i._Year.StartYear == ddlStartYear.SelectedItem.Text)
.Where(i => ddlEndYear.SelectedItem.Text == "--Select All--" ||
i._Year.EndYear == ddlEndYear.SelectedItem.Text)
.Distinct()
.ToList();
BindGrid(searchData);
は私もチェック値を格納するための機能を使用し、合格したことchklstDepartment.Contains()を使用して値が、それはあなたが、文字列が、列挙のを返すべきではありません0
for (int i = 0; i < chklstDepartment.Items.Count; i++)
{
if (chklstDepartment.Items[i].Selected)
{
chbstr += chklstDepartment.Items[i].Value + ",";
count++;
//if(count > 1)
}
var data = new string[] {chbstr};
}
chbstr = chbstr == string.Empty ? "0" : chbstr;
//chbstr = chklstDepartment.SelectedValue;
//chbstr = chbstr.Split(',').ToString();
return chbstr;
ことがありますスローリーエラーが発生しました。 'Where'の定義が含まれていません... –
おそらく私は '.Value' ..を忘れています。私はそれを更新しました。これは、stackoverflowでタイプされているので、軽微なエラーが含まれている可能性があります。 –
chklstDepartment.Items.Where(item => item.Value) ここで私はエラーが発生しています... –