Open kpenigar opened 8 months ago
Hi @kpenigar. Thanks for your donation! Could you please provide more details about your issue?
I understand that you want to display checkboxes in all cells of a specific column. Your approach is on the right track. After setting DefaultCellBody
to use checkboxes, you should assign a boolean value (true
or false
) to each cell in the column. Here's an example:
int dataCount = 10; // Number of rows
for (int i = 0; i < dataCount; i++)
{
sheet[i, 0] = false; // Assigns false to each cell in the first column
}
This code will populate the first column with unchecked checkboxes for the first 10 rows. Please adjust dataCount based on the actual number of rows in your sheet.
The result:
Thanks for the quick response.
Context: I pull data from a database into the spreadsheet and then configure the spreadsheet, so I don't assign the default body style until all the data is loaded. The "IsOpen" field has a data type of Bit (0, 1).
Did my answer resolve your question? Given your context, here is another example:
// Assuming `sheet` is the current worksheet and data is loaded
int columnIndexOfIsOpen = [Column Index of IsOpen]; // Replace with actual column index
for (int i = 0; i < sheet.RowCount; i++)
{
object dbValue = sheet[i, columnIndexOfIsOpen]; // Get value from cell
bool checkboxValue = Convert.ToBoolean(dbValue); // Convert DB Bit value to boolean
sheet[i, columnIndexOfIsOpen] = checkboxValue; // Assign boolean value to cell
// Optionally, set the cell body to CheckBoxCell if not already done
sheet.SetCellBody(i, columnIndexOfIsOpen, new CheckBoxCell());
}
In this example you don't have to use Header.DefaultCellBody
field, just set each checkbox into cells manually.
Ok, I'll try to implement your suggestion and let you know.
Thanks again for your help.
Yes, when you use Header.DefaultCellBody
, you don't have to set checkbox instances. Instead, if you set a boolean value to true
or false
, ReoGrid will automatically create the checkbox instance for you. Both methods achieve the same result.
So I guess it probably would be more efficient if I did the data conversion on the server side, that way when the data's loaded it's already in the right format.
I am unable to get the checkbox cell type to persist for an entire column.