At 08:05 PM 10/2/2007, Alan Colburn wrote:
>If you were going to initially show your grid with 100 rows, I suppose
>you could initially also make 100 objects for the collection, each with
>blank attributes. As text was entered into grid cells, object attributes
>would be changed. Somehow this seems inefficient ... I figured there are
>better ways.

What I would do is NOT allow users to just enter data into rows in the 
grid. Having that functionality, while it may initially be more comfortable 
for users that are used to a spreadsheet, will only be confusing when those 
users reach the point that they realize your app is NOT a spreadsheet. If 
you avoid acting a little bit like a spreadsheet you also avoid the users 
asking for more and more spreadsheet-like features!

I would instead provide a button and menu choice for them to request a new 
row be added. This gives you a discrete event to use to add a row to the 
grid. The focus would then jump to the grid and into the first column so 
they could then fill in that row. All very natural and users will 
understand it. (If they really want to enter things in batches they will 
quickly learn they can click the button 10 times and then go enter 10 rows 
of data. But that is their choice.) Of course you will also need to provide 
a way to delete rows if that is allowed in your application.

The grid would initially be empty (or perhaps contain only one row that was 
ready to be filled in). The grid would then size itself to match the 
contents of the collection of data it was displaying whenever the Add or 
Delete actions were requested.


_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to