-1
我使用下面的代碼進行篩選的基礎上Checkboxlist但過濾器不工作,如果我不選擇任何東西。如果我沒有檢查任何值,它必須顯示所有的值。比較複選框列表值什麼檢查通過LINQ
下面是該代碼: 「代替」 0
var selectedIds = chklstDepartment.Items.Cast<ListItem>().Where(item => item.Selected).Select(item => item.Value).ToArray();
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") || (selectedIds.Contains(i._Department.DepartmentID)))
.Where(i => (ddlCategory.SelectedValue == "0") || (i._Category.CategoryID == ddlCategory.SelectedValue))
.Where(i => (ddlStartYear.SelectedItem.Text == "--Select All--") || (Convert.ToInt32(i._Year.StartYear) >= Convert.ToInt32(ddlStartYear.SelectedItem.Text)))
.Where(i => (ddlEndYear.SelectedItem.Text == "--Select All--") || (Convert.ToInt32(i._Year.EndYear) <= Convert.ToInt32(ddlEndYear.SelectedItem.Text)))
.Distinct().ToList();
BindGrid(searchData);
如果您未檢查任何值,目前的結果是什麼? –
計數即將到來0 –
當不檢查,你確定'SelectedValues'是「0」或「 - 全選 - 」?你怎麼能證明? –