Hello Victor,
Thank you for writing back.
Here are the required properties for saving the conditional formatting:
private
void
radButton1_Click(
object
sender, EventArgs e)
{
radGridView1.XmlSerializationInfo.DisregardOriginalSerializationVisibility =
true
;
radGridView1.XmlSerializationInfo.SerializationMetadata.Clear();
radGridView1.XmlSerializationInfo.SerializeDefaultValues =
true
;
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(RadGridView),
"MasterTemplate"
, DesignerSerializationVisibilityAttribute.Content);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(GridViewTemplate),
"Columns"
, DesignerSerializationVisibilityAttribute.Content);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(GridViewDataColumn),
"Name"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(GridViewDataColumn),
"HeaderText"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(GridViewDataColumn),
"FieldName"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(GridViewDataColumn),
"ConditionalFormattingObjectList"
,
new
DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Content));
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"Name"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"ConditionType"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"TValue1"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"TValue2"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"RowBackColor"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"RowForeColor"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"CellForeColor"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"CellBackColor"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"CellFont"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"RowFont"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"ApplyToRow"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.XmlSerializationInfo.SerializationMetadata.Add(
typeof
(ConditionalFormattingObject),
"ApplyOnSelectedRows"
, DesignerSerializationVisibilityAttribute.Visible);
radGridView1.SaveLayout(@
"D:\Formatting.xml"
);
}
If you want to add new columns you will need to add them after the layout is initially loaded (to preserve the previous layout). Then you can save it again. In general, we do not have a mechanism that allows using the same layout file with different versions of the program and this should be handled manually.
I hope this will be useful. Let me know if you have additional questions.
Regards,
Dimitar
Telerik by Progress