Hi..
I have created xamdatagrid with some data.
it has 10 rows and 10 colums.
Now i want to enable cells only from column 4 to 7 for a perticular record.
I want to do like this for every record which series of cells i want to enable means it wil enable.
remaining cells should be disabled.
Can u suggest answer for this.
And one more thing.Xamfeature browser examples are helpful.
But in that c# code you are using Strings class.
What is that class..what are that properties..
If i try to use tat program individually means in xaml code u have used that Strings class properties.
How to use that Strings class in our project.??
Thank u very much.
Hi GDU,
You can find a lot of information from the XamDataGrid documentation. I tend to peruse the API Overview for more specific information.
Hope that helps!
Arron et al,
I am struggling with a simlar thread to the above. My final goal is to IsEnabled = false a single cell on the grid. This is based on the value from another column. All is working except the disable a single cell part. No matter what I've tried (below), the CellValuePresenter comes back null or sets all of the cells for that field to IsEnabled = true.
1. Why is the cvp always null when the record is valid and has content?
2. Why do all of the records in the field become disabled when I am clearly (or not) targeting just one?
The code below works to comments just the items in my group, but the problem is this code disables the entire row, not simply the cell I want to disable. Everything else I have commented below has been tried but does not work.
Thanks,
Glenn
foreach (Infragistics.Windows.DataPresenter.Record rec in gbr) { if (!rec.IsExpanded && rec.Description.StartsWith("RTO-R")) { rec.IsExpanded = true; var children = rec.ViewableChildRecords.ToList(); int totalNumRecs = children.Count;
foreach (DataRecord child in children) { //DataRecord currentRow = child as DataRecord; //CellValuePresenter cvp = CellValuePresenter.FromRecordAndField(child, child.FieldLayout.Fields[8]); //CellValuePresenter cvp = CellValuePresenter.FromCell(child.Cells[8]); //CellValuePresenter cvp = CellValuePresenter.FromRecordAndField(child, child.FieldLayout.Fields[8]); //cvp.IsEnabled = false;
((Infragistics.Windows.DataPresenter.Cell)(child.Cells.Record.Cells.Record.Cells[8])).Record.IsEnabled = false;
//CellValuePresenter cvp = child.DataPresenter.ActiveRecord.FieldLayout.Fields[8] as CellValuePresenter; //cvp.Record.Cells[8].Field.Settings.AllowEdit = false; //Record cvpRecord = cvp.Record; //cvpRecord.IsEnabled = false; //currentRow.Cells[8].Record.Cells[8].Field.Settings.AllowEdit = false; //child.FieldLayout.Fields[8].Settings.AllowEdit = false; }
} }
Hello Glenn,
When you call ViewableChildRecords of a DataRecord you are getting the ExpandableFieldRecordPresenter and not the nested records. To get the nested records, you have to do this twice like this:
rec. ViewableChildRecords[0]. ViewableChildRecords.ToList();
The CellValuePresenter might be null if you are calling this in an event that is too early for the Presenters to be generated or when the CellValuePresenter is not in view.I can see this is fairly simple condition, which can be easily done in xaml and you will not have to iterate through all of the records. Do you have to do this in procedural code?
So, what event can I use for CellValuePresenter not to be null? in XamlDataGrid_Loaded, CellValuePresenter is also null.
The CellValuePresenter will be null until the XamDataGrid is completely rendered. The CellValuePresenter is the visual representation of the cells. We recommend that any visual modifications to the CellValuePresenters are made through bindings or IValueConverters. The CVPs are virtualized and this may result in erroneous behavior if you are setting the above mentioned modifications directly.