F
Fred Morrison
1. No Columns collection.
2. No ability to easily synchronize the underlying DataTable of a DataGrid
when a row is deleted in the Grid. Once you sort (via the column headers)
all bets are off as to whether the current row index of the data grid can be
used directly as the Rows index of the DataTable. This is documented in the
DataGrid Overview.
3. No way to access the default grid table style to make minor changes to
just one column (i.e., hide it or make it's width property zero). Not even
for read-only purposes (see #1).
4. No way to easily pick up the value of a hidden column in the Grid (which
has to be hidden using Data Layer techniques, not Presentation Layer
techniques). You have to make some ASSumption about the relationship of
grid columns to DataTable columns or use some nasty hard-coding that begs
for future maintenance errors.
5. If you want to delete a row from the data grid in your Presentation
Layer, you can't directly use the DeleteRow method of the grid (see #2
above) without going into the Data Layer to FindRows the corresponding row
in the datatable. Kind of kills the idea of separation of Presentation
Layer, Business Layer and Data Layers if the Presentation Layer has to know
how to reach into a DataTable in order to know how to delete a row in a
Presentation Layer control (grid).
Is there a 3rd-party Grid control that does not suffer from these
deficiencies?
2. No ability to easily synchronize the underlying DataTable of a DataGrid
when a row is deleted in the Grid. Once you sort (via the column headers)
all bets are off as to whether the current row index of the data grid can be
used directly as the Rows index of the DataTable. This is documented in the
DataGrid Overview.
3. No way to access the default grid table style to make minor changes to
just one column (i.e., hide it or make it's width property zero). Not even
for read-only purposes (see #1).
4. No way to easily pick up the value of a hidden column in the Grid (which
has to be hidden using Data Layer techniques, not Presentation Layer
techniques). You have to make some ASSumption about the relationship of
grid columns to DataTable columns or use some nasty hard-coding that begs
for future maintenance errors.
5. If you want to delete a row from the data grid in your Presentation
Layer, you can't directly use the DeleteRow method of the grid (see #2
above) without going into the Data Layer to FindRows the corresponding row
in the datatable. Kind of kills the idea of separation of Presentation
Layer, Business Layer and Data Layers if the Presentation Layer has to know
how to reach into a DataTable in order to know how to delete a row in a
Presentation Layer control (grid).
Is there a 3rd-party Grid control that does not suffer from these
deficiencies?