Hi David,
See answers inline
> I am used to working with DropDownList of Web and ListItem in Web
> programming. The list control is populated with ListItems whose two
[quoted text clipped - 19 lines]
> Well, it turns out that the object type of SelectedValue is DataRowView. So
> what the heck is that about???
If the ValueMember isn't properly set it will return the object.ToString(). And since the ListControl is filled with DataRowViews this is what you get. Change
lctr.ValueMember = "orgnizationID";
to
lctr.ValueMember = "organizationID";
> DataRowView rowView = (DataRowView)lctr.SelectedValue;
> int orgID = Convert.ToInt32(rowView[0]);
[quoted text clipped - 4 lines]
> Then I assumed that the display text must be in rowView[1]. Nope. It is a
> string of zero lenght.
Yes, it is the type name of the selected object, see above.
> ListBox
> =====
[quoted text clipped - 20 lines]
> all now say "ReportOrgnanizations", I get " Index was out of range. Must be
> non-negative and less than the size of the collection."
Ok, I'm not sure what is going on here.
> And what is the difference between SelectedItem and SelectedValue? And what
> exactly are in Items?
SelectedItem is the selected item in the list, the object.
SelectedValue is a named property of the SelectedItem, typically the column name in a datatable or a property in an object.
Items contains objects. In case of a DataTable, these objects are of type DataRowView.

Signature
Happy Coding!
Morten Wennevik [C# MVP]