var YAHOO = {'Shortcuts' : {}}; if (typeof YAHOO == "undefined") { var YAHOO = {}; } YAHOO.Shortcuts = YAHOO.Shortcuts || {}; YAHOO.Shortcuts.hasSensitiveText = false; YAHOO.Shortcuts.sensitivityType = []; YAHOO.Shortcuts.doUlt = false; YAHOO.Shortcuts.location = "us"; YAHOO.Shortcuts.document_id = 0; YAHOO.Shortcuts.document_type = ""; YAHOO.Shortcuts.document_title = "\u00d7\u0092\u00d7\u00a8\u00d7\u0099\u00d7\u0093"; YAHOO.Shortcuts.document_publish_date = ""; YAHOO.Shortcuts.document_author = "gilad.sefti@mailpoalim.co.il"; YAHOO.Shortcuts.document_url = ""; YAHOO.Shortcuts.document_tags = ""; YAHOO.Shortcuts.document_language = ""; YAHOO.Shortcuts.annotationSet = { "lw_1244631662_0": { "text": "System.IO", "extended": 0, "startchar": 973, "endchar": 981, "start": 973, "end": 981, "extendedFrom": "", "predictedCategory": "", "predictionProbability": "0", "weight": 1, "relScore": 0, "type": ["shortcuts:/us/place/virtual/web_site"], "category": ["IDENTIFIER"], "wikiId": "", "relatedWikiIds": [], "relatedEntities": [], "showOnClick": [], "context": "System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; namespace CheckRestore { public partial class Form1", "metaData": { "visible": "true" } } }; YAHOO.Shortcuts.headerID = "37507dfe6be42058ab7eeb8524771f76";
I get an exception when loading definitions.
"Object reference not set to an instace of an object."
It seems the problem is when applying condition definitions, Otherwise there is no problem.
I attach the sample.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; namespace CheckRestore { public partial class Form1 : Form { MemoryStream savedStream = new MemoryStream(); public Form1() { InitializeComponent(); } private void btnSaveDefs_Click(object sender, EventArgs e) { savedStream = new MemoryStream(); ultraGrid1.DisplayLayout.Save(savedStream, PropertyCategories.Bands); } private void btnLoadDefs_Click(object sender, EventArgs e) { savedStream.Seek(0, 0); ultraGrid1.DisplayLayout.Load(savedStream, PropertyCategories.Bands); } private void Form1_Load(object sender, EventArgs e) { List<Item> ls = new List<Item>(); ls.Add(new Item(0)); ls.Add(new Item(1)); ultraGrid1.DataSource = ls; } private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e) { UltraGridBand band = e.Layout.Bands[0]; Infragistics.Win.Appearance appearanceRed = new Infragistics.Win.Appearance(); appearanceRed.ForeColor = Color.Red; OperatorCondition conditionRed = new OperatorCondition(ConditionOperator.LessThanOrEqualTo, 0); ConditionValueAppearance valAppearanceAvailable = new ConditionValueAppearance(); valAppearanceAvailable.Add(conditionRed, appearanceRed); band.Columns["Num"].ValueBasedAppearance = valAppearanceAvailable; } } public class Item { public Item(int num) { mNum = num; } private int mNum; public int Num { get { return mNum; } set { mNum = value; } } } } namespace CheckRestore { partial class Form1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance12 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance7 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance9 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance11 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance10 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance8 = new Infragistics.Win.Appearance(); this.ultraGrid1 = new Infragistics.Win.UltraWinGrid.UltraGrid(); this.btnSaveDefs = new System.Windows.Forms.Button(); this.btnLoadDefs = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.ultraGrid1)).BeginInit(); this.SuspendLayout(); // // ultraGrid1 // appearance4.BackColor = System.Drawing.SystemColors.Window; appearance4.BorderColor = System.Drawing.SystemColors.InactiveCaption; this.ultraGrid1.DisplayLayout.Appearance = appearance4; this.ultraGrid1.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid; this.ultraGrid1.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False; appearance1.BackColor = System.Drawing.SystemColors.ActiveBorder; appearance1.BackColor2 = System.Drawing.SystemColors.ControlDark; appearance1.BackGradientStyle = Infragistics.Win.GradientStyle.Vertical; appearance1.BorderColor = System.Drawing.SystemColors.Window; this.ultraGrid1.DisplayLayout.GroupByBox.Appearance = appearance1; appearance2.ForeColor = System.Drawing.SystemColors.GrayText; this.ultraGrid1.DisplayLayout.GroupByBox.BandLabelAppearance = appearance2; this.ultraGrid1.DisplayLayout.GroupByBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Solid; appearance3.BackColor = System.Drawing.SystemColors.ControlLightLight; appearance3.BackColor2 = System.Drawing.SystemColors.Control; appearance3.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal; appearance3.ForeColor = System.Drawing.SystemColors.GrayText; this.ultraGrid1.DisplayLayout.GroupByBox.PromptAppearance = appearance3; this.ultraGrid1.DisplayLayout.MaxColScrollRegions = 1; this.ultraGrid1.DisplayLayout.MaxRowScrollRegions = 1; appearance12.BackColor = System.Drawing.SystemColors.Window; appearance12.ForeColor = System.Drawing.SystemColors.ControlText; this.ultraGrid1.DisplayLayout.Override.ActiveCellAppearance = appearance12; appearance7.BackColor = System.Drawing.SystemColors.Highlight; appearance7.ForeColor = System.Drawing.SystemColors.HighlightText; this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance = appearance7; this.ultraGrid1.DisplayLayout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.Dotted; this.ultraGrid1.DisplayLayout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.Dotted; appearance6.BackColor = System.Drawing.SystemColors.Window; this.ultraGrid1.DisplayLayout.Override.CardAreaAppearance = appearance6; appearance5.BorderColor = System.Drawing.Color.Silver; appearance5.TextTrimming = Infragistics.Win.TextTrimming.EllipsisCharacter; this.ultraGrid1.DisplayLayout.Override.CellAppearance = appearance5; this.ultraGrid1.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.EditAndSelectText; this.ultraGrid1.DisplayLayout.Override.CellPadding = 0; appearance9.BackColor = System.Drawing.SystemColors.Control; appearance9.BackColor2 = System.Drawing.SystemColors.ControlDark; appearance9.BackGradientAlignment = Infragistics.Win.GradientAlignment.Element; appearance9.BackGradientStyle = Infragistics.Win.GradientStyle.Horizontal; appearance9.BorderColor = System.Drawing.SystemColors.Window; this.ultraGrid1.DisplayLayout.Override.GroupByRowAppearance = appearance9; appearance11.TextHAlignAsString = "Left"; this.ultraGrid1.DisplayLayout.Override.HeaderAppearance = appearance11; this.ultraGrid1.DisplayLayout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.SortMulti; this.ultraGrid1.DisplayLayout.Override.HeaderStyle = Infragistics.Win.HeaderStyle.WindowsXPCommand; appearance10.BackColor = System.Drawing.SystemColors.Window; appearance10.BorderColor = System.Drawing.Color.Silver; this.ultraGrid1.DisplayLayout.Override.RowAppearance = appearance10; this.ultraGrid1.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False; appearance8.BackColor = System.Drawing.SystemColors.ControlLight; this.ultraGrid1.DisplayLayout.Override.TemplateAddRowAppearance = appearance8; this.ultraGrid1.DisplayLayout.ScrollBounds = Infragistics.Win.UltraWinGrid.ScrollBounds.ScrollToFill; this.ultraGrid1.DisplayLayout.ScrollStyle = Infragistics.Win.UltraWinGrid.ScrollStyle.Immediate; this.ultraGrid1.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy; this.ultraGrid1.Location = new System.Drawing.Point(28, 73); this.ultraGrid1.Name = "ultraGrid1"; this.ultraGrid1.Size = new System.Drawing.Size(606, 232); this.ultraGrid1.TabIndex = 0; this.ultraGrid1.Text = "ultraGrid1"; this.ultraGrid1.InitializeLayout += new Infragistics.Win.UltraWinGrid.InitializeLayoutEventHandler(this.ultraGrid1_InitializeLayout); // // btnSaveDefs // this.btnSaveDefs.Location = new System.Drawing.Point(44, 30); this.btnSaveDefs.Name = "btnSaveDefs"; this.btnSaveDefs.Size = new System.Drawing.Size(97, 23); this.btnSaveDefs.TabIndex = 1; this.btnSaveDefs.Text = "Save definitions"; this.btnSaveDefs.UseVisualStyleBackColor = true; this.btnSaveDefs.Click += new System.EventHandler(this.btnSaveDefs_Click); // // btnLoadDefs // this.btnLoadDefs.Location = new System.Drawing.Point(236, 30); this.btnLoadDefs.Name = "btnLoadDefs"; this.btnLoadDefs.Size = new System.Drawing.Size(97, 23); this.btnLoadDefs.TabIndex = 2; this.btnLoadDefs.Text = "Load definitions"; this.btnLoadDefs.UseVisualStyleBackColor = true; this.btnLoadDefs.Click += new System.EventHandler(this.btnLoadDefs_Click); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(672, 317); this.Controls.Add(this.btnLoadDefs); this.Controls.Add(this.btnSaveDefs); this.Controls.Add(this.ultraGrid1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.ultraGrid1)).EndInit(); this.ResumeLayout(false); } #endregion private Infragistics.Win.UltraWinGrid.UltraGrid ultraGrid1; private System.Windows.Forms.Button btnSaveDefs; private System.Windows.Forms.Button btnLoadDefs; } }
Also the exception I get is:
"Exception has been thrown by the target of invocation."
and the inner exception is : "Object reference not set to an instance of an object"
But anyway, I put the code both for the form code, and design, so you can check it yourself.
I refer to OperationCondition
I refer the the lines:
Infragistics.Win.Appearance appearanceRed = new Infragistics.Win.Appearance(); appearanceRed.ForeColor = Color.Red; OperatorCondition conditionRed = new OperatorCondition(ConditionOperator.LessThanOrEqualTo, 0); ConditionValueAppearance valAppearanceAvailable = new ConditionValueAppearance(); valAppearanceAvailable.Add(conditionRed, appearanceRed); band.Columns["Num"].ValueBasedAppearance = valAppearanceAvailable;
Call stack:
> CheckRestore.exe!CheckRestore.Form1.btnLoadDefs_Click(object sender = {Text = "Load definitions"}, System.EventArgs e = {X = 48 Y = 14 Button = Left}) Line 32 C# [External Code] CheckRestore.exe!CheckRestore.Program.Main() Line 17 + 0x1a bytes C# [External Code]
Hi,
What condition are you referring to? I don't see any conditional statements anywhere around this code.
What does the call stack show when you get the exception?
you get exception if you press save definition, and then load definitions.
The exception is on the line:
ultraGrid1.DisplayLayout.Load(savedStream, PropertyCategories.Bands);
But ultraGrid1 and savedStream are not null.
This happens only if I use the condition.
If I remove the lines of the condition, there is no exception.
I'm afraid I don't understand your question. What line of code are you getting an exception on?
A Nullreference Exception indicates that the code is trying to reference a property on an object variable which is null.