I found VB code to deal with this, for anyone that wants to avoid some frustration. Obviously you'll have to substitute your own values in the code below for your needs, but you should be able to customize without too much hassle. Here is the code:
Protected Sub ProductSearch_LocationCheck_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ProductSearch_LocationCheck.SelectedIndexChanged
Dim SupplierSelections As Boolean = False
Dim SupplierItem As ListItem
For Each SupplierItem In ProductSearch_LocationCheck.Items
If SupplierItem.Selected Then
SupplierSelections = True
End If
Next
If SupplierSelections = True Then
Dim SupplierSqlString As String
SupplierSqlString = "SELECT Products.ProductID, Products.ProductName, CONVERT(char(12),Products.OrderDate,0) AS OrderDate, Products.TimeToDeliver, CONVERT(decimal(6,2),Products.Cost,1) AS Cost, Products.Locality, FROM Products INNER JOIN SKUNumber ON Products.SKUNumberID = SKUNumber.SKUNumberID WHERE "
For Each SupplierItem In ProductSearch_LocationCheck.Items
If SupplierItem.Selected Then
SupplierSqlString &= "Products.LocationID = '" & SupplierItem.Value & "' OR "
End If
Next
SupplierSqlString = Left(SupplierSqlString, Len(SupplierSqlString) - 4)
SupplierSqlString &= "ORDER By Products.ProductName"
ProductGrid_SQL.SelectCommand = SupplierSqlString
End If
End Sub
Hope it helps someone...