I've built a custom Report Designer. I need a control that can work like the MS Datagrid (winforms).
(See Deliverables for requirements (too much to list for this bit)).
The one difference is, that when painting, I want you the developer to implement "IReportDataEnabledBase"
or if you are doing this from scratch you can inherit ReportBase and also implement the above interface.
I've included another control that I did with a panel; it lists out the values that are in a table. It's rather simple, though I figured it might help.
I am flexible regarding the interfaces so if you need changes just let me know.
This is rather basic, when in [url removed, login to view] the control should paint normally, though when I run the form (so in runtime) I will be passing the X and Y for where to paint the control on a form, (no longer it's own but part of a bigger picture). Hence other controls will be painted to the same layer also and then that’s provided as a preview before it's printed. Hence I pass a graphics object and the X/Y to paint at.
So if Designmode = true then paint normally else use X/Y and Graphics object
Hope this helps.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Ok, it's simple, it needs to be able to do up a grid with lines and a row for each record of the bound datatable. Now It also needs to create lines even if there are no more records, to fill up the entire space of the Grid.
The Grid would need to support paging (check out the attached reportlist control for sample of paging). It would need to support colored rows and columns. There should be a Header, and that header should be able to set the text.
All UI bits should be editable at designtime, I care less about any Runtime interface ablities, this grid is for printing on reports. So when the instance is created and a table is populated and the table is bound to the grid. Then I just paint that to the screen for printing.
This is a more design time inteseive control. One should be able to resize columns and set the row height. One should see how many rows are in a grid at design time (so paint the rows as well as columns). One should also make the lines optional, like optional row lines and optional column Lines. I should have seperate color and font settings for the header and rows. Each column should have it's own font and color settings, seperate of the header (did I just say that LOL).
There are three types of column styles
One could be able to just set the icon to use for true/false states of a checkbox column style so that we only need two styles. The Textbox one should be able to format the text as well as numbers with a mask or formating char.
This would be nice if it's in VB.NET, but not required.
Must be totally .NET developed, no funny API moves and no ActiveX bits. Just pure GDI+.