ListView, BO, and passing a Dictionary to the BO's Fill()


Author
Message
Alex Luyando
Alex Luyando
StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)StrataFrame User (210 reputation)
Group: StrataFrame Users
Posts: 112, Visits: 1.2K
H-



Having an issue filling a listView based on a BO filled using a stored procedure. Will try to distill the scenario below, hopefully not omitting any key elements.



--- Intro --------------------------------

The BO has a fill method with the following signature.



public void FillAfterRefresh(Dictionary tdictParameters)



The dictionary passed in includes values used as parameters in the call to the stored procedure.



The form has a listVview on it, that I want to populate using the result set returned by the stored procedure. It is set to manually populate, and I've specified the appropriate BO class and the above fill method.



For testing/debugging purposes I've thrown a few controls on the form as well and bound them to BO fields.



--- Observations/Problems ---------------------------------

1.) If I drop an instance of the BO onto the form, and call the above Fill method, passing a reference to a dictionary in as the lone argument, the fill works great (confirmed via the debugger and by being able to view the results in the test controls on the form).



2.) When I attempt to set the List View Population Settings, I see my fill method, but the parameter shows as (Dictionary`2). Not sure what's up with this? (But, willing to run it anyway since it compiles.) Note: See attached PNG.



3.) If I try to call the listview's requery, passing in the dictionary (either in the requery call or in the ListPopulating event using e.Parameters[0].Value = this.oDictUserInfoWink I get an immediate error at runtime:



Dynamically populating the ListView failed. Could not create and fill the business object of type 'IndexReviewSystem.Business_Objects.Reporting_Objects.boIRSPredictiveCompositionNullProblems'



Inner Exception Message: "Dynamically populating the ListView failed. Type 'System.Collections.Generic.Dictionary`2[[System.String' could not be found."



Can someone help me make sense of this?



I feel I have a workaround as I can put a BO on the form, fill it, then copy the filled datatable to the listview's internal datatable. I feel, however, I shouldn't need to do that… I'd really like to understand what's going on.



TIA


________________
_____/ Regards,
____/ al
Attachments
tmp2-10-2010 12-03-40 PM.png (128 views, 14.00 KB)
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search