Inquiring about good Datagrid

  • Thread starter Thread starter Katit
  • Start date Start date
K

Katit

Folks,

I'm starting winforms project and I need grid control that will give
me control I want. I was using FarPoint spread in VB6 to get similar
results.

I need:
1. Grid that works in unbound mode
2. I have control over each cell as far as locking, colors, (fonts?)
and events.
3. Ability to place buttons in cells
4. Ability to place dropdown in cells.


Can I do all that with VS2005 DataGrid?

Thanks,
Ivan
 
Ivan,

I think that if you are using .NET 2.0 (you said VS.NET 2005) the
DataGridView is a better option, as it has more of the options you are
looking for (I believe it can do all of those things).
 
Yes, .NET 2

So, I can use DataGridView to edit data and so on?
My customer will want expierence similar to Excel (moving between cells)

Thank you
 
Well, an experience similar to Excel is very different from the four
things that you pointed out in your original post. Depending on the level
of similarity you want from Excel, a DataGridView could be what you are
looking for, or not provide anything close to what you are looking for. If
you require things like formulas and the like, then the DataGridView is
going to do nothing for you. But if you need to just enter values, then the
DataGridView should be fine.

However, if you need an Excel-like interface, have you considered
developing an add-in for Excel?


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)


katit said:
Yes, .NET 2

So, I can use DataGridView to edit data and so on?
My customer will want expierence similar to Excel (moving between cells)

Thank you
 
Well. Excel add-in will not do what I need. Users used to maintain
spreadsheet in excel and once it was saved -data was updated on big plazma
screen. It was small user base and there was only 1 person maintaining
spreadsheet.

Now I need to develop app which will allow multiple users to edit this data
and will lock same record on other users screens to prevent others from
editing. It has to be real-time and distributed possibly in different
buildings.

I already have working model and approach, now I just need to give them
similar user expierence.

They don't need formulas and such. But they may ask to set specific fonts
and colors. Also, I may need to color cells conditionally to highlight some
data and they need to TAB and use curstors to have similar expierence
navigating spreadsheet.

I need good control over events so I can detect when cell exited and if data
was modified so I can unlock record or lock when they start to type. Things
like this..

Nicholas Paldino said:
Well, an experience similar to Excel is very different from the four
things that you pointed out in your original post. Depending on the level
of similarity you want from Excel, a DataGridView could be what you are
looking for, or not provide anything close to what you are looking for. If
you require things like formulas and the like, then the DataGridView is
going to do nothing for you. But if you need to just enter values, then the
DataGridView should be fine.

However, if you need an Excel-like interface, have you considered
developing an add-in for Excel?
 
In this case, the DataGridView should be able to do what you want.
However, locking the data in the manner in which you describe isn't the best
idea, I think, as it doesn't scale well. You are performing pessimistic
locking. In this design, you are placing a lock on the underlying data (if
you are using a database, then you will have to manage this yourself, as
ADO.NET doesn't support this model inherently, assuming you are using
ADO.NET) while it is being edited.

In the optimistic model (which is what ADO.NET supports), you submit
your change, but check against some sort of property on the record (a
timestamp, or a comparison of all the values) to see if someone else has
made changes to the underlying data. If they have, you deny the changes.
If they haven't, then the changes are allowed to be comitted.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

katit said:
Well. Excel add-in will not do what I need. Users used to maintain
spreadsheet in excel and once it was saved -data was updated on big plazma
screen. It was small user base and there was only 1 person maintaining
spreadsheet.

Now I need to develop app which will allow multiple users to edit this
data
and will lock same record on other users screens to prevent others from
editing. It has to be real-time and distributed possibly in different
buildings.

I already have working model and approach, now I just need to give them
similar user expierence.

They don't need formulas and such. But they may ask to set specific fonts
and colors. Also, I may need to color cells conditionally to highlight
some
data and they need to TAB and use curstors to have similar expierence
navigating spreadsheet.

I need good control over events so I can detect when cell exited and if
data
was modified so I can unlock record or lock when they start to type.
Things
like this..

Nicholas Paldino said:
Well, an experience similar to Excel is very different from the four
things that you pointed out in your original post. Depending on the
level
of similarity you want from Excel, a DataGridView could be what you are
looking for, or not provide anything close to what you are looking for.
If
you require things like formulas and the like, then the DataGridView is
going to do nothing for you. But if you need to just enter values, then
the
DataGridView should be fine.

However, if you need an Excel-like interface, have you considered
developing an add-in for Excel?


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)


katit said:
Yes, .NET 2

So, I can use DataGridView to edit data and so on?
My customer will want expierence similar to Excel (moving between
cells)

Thank you

:

Ivan,

I think that if you are using .NET 2.0 (you said VS.NET 2005) the
DataGridView is a better option, as it has more of the options you are
looking for (I believe it can do all of those things).
 
Well. It may not scale well but that is a business requirement. There will be
timestamps involved in addition to TCP/IP broadcast so other clients
immedeately affected and records locked on their screen without need for
refresh. Updates to records will also be broadcast in a form of signals so
users can go and grab only updated data they need from database.

I wish it was simple "Save" -> "Sorry, other user just modified this record"

:)

Thanks,
Ivan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top