Jun 02, 2011, 8:45 PM
Limit of a Multiselect
What is the record limit for a Multiselect control? I have a query that is returning over a 100 records and I get that the transaction is aborted with a -1 status code. If there is a record limit which do you think would be the best way to populate the Multiselect control?
Below is the code to populate the Multiselect control.
Below is the code to populate the Multiselect control.
Dim DS As New DirectorySearcher
Dim DE As New DirectoryEntry
Dim StrContainerName As String
Dim StrCompanyName As String
Dim EmployeeInfo As New List(Of EStore)
If Company.Value = "" Then
MsgBox("Please Select a Company", vbCritical + vbSystemModal, "No Company Selected")
Exit Sub
Else
End If
StrCompanyName = Company.Value
StrContainerName = Regions.Value
DE.Path = "LDAP://OU=Domain Users, DC=domain, DC=com"
DE.Username = "username"
DE.Password = "password7"
With (DS)
If Regions.Value = "Corporate" Then
.SearchRoot = DE
.Filter = "(&(ObjectCategory=person)(ObjectClass=user)(!Department=Region*)(Company=" & StrCompanyName & "))" '<<< Change the Group name here
.PropertiesToLoad.Add("mail")
.PropertiesToLoad.Add("cn")
ElseIf Regions.Value = "All" Then
.SearchRoot = DE
.Filter = "(&(ObjectCategory=person)(ObjectClass=user)(Department=*)(Company=" & StrCompanyName & "))" '<<< Change the Group name here
.PropertiesToLoad.Add("mail")
.PropertiesToLoad.Add("cn")
Else
.SearchRoot = DE
.Filter = "(&(ObjectCategory=person)(ObjectClass=user)(Department=" & StrContainerName & ")(Company=" & StrCompanyName & "))" '<<< Change the Group name here
.PropertiesToLoad.Add("mail")
.PropertiesToLoad.Add("cn")
End If
End With
Dim Members As DirectoryServices.SearchResultCollection = DS.FindAll
Dim Members1 As DirectoryServices.SearchResult
Dim EmployeeStore As New Object()
For Each Members1 In Members
If Members1.Properties.Count = 3 Then
' loop through members
Dim CurrentMember As New DirectoryEntry(Members1.GetDirectoryEntry.Properties("mail").Value.ToString) ' Get directoryentry for user
'If CurrentMember.Properties(Members).ToString <> "" Then
EList.Add(Members1.GetDirectoryEntry.Properties("mail").Value.ToString)
UList.Add(Members1.GetDirectoryEntry.Properties("cn").Value.ToString)
Dim c As New Ext.Net.ListItem.Config
c.Value = Members1.GetDirectoryEntry.Properties("mail").Value.ToString
c.Text = Members1.GetDirectoryEntry.Properties("cn").Value.ToString
'MultiSelect1.Items.Add(New Ext.Net.ListItem(c))
'EmployeeStore = EmployeeStore & (New Object() {New Object() {c.Text, c.Value}})
EmployeeInfo.Add(New EStore(c.Value, c.Text))
' Me.Users.DataSource = New Object() {New Object() {c.Text, c.Value}}
Else
End If
Next
EStore.DataSource = EmployeeInfo
EStore.DataBind()
Here is the front end<ext:Store ID="EStore" runat="server">
<Reader>
<ext:JsonReader >
<Fields>
<ext:RecordField Name="Email_Address" Type="String"/>
<ext:RecordField Name="Email_User_Name" Type="String"/>
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:MultiSelect ID="MultiSelect1"
runat="server"
SubmitText = "true"
Height="500"
Width="200"
MaxLength="-1"
AutoDataBind="True"
IDMode="Inherit"
StoreID="EStore"
DisplayField="Email_User_Name"
TriggerAction ="All"
ValueField = "Email_Address">
</ext:MultiSelect>