フラットなレコードセットを表示するためにグリッドが使用されている時に、データ追加の従来のアプローチは、グリッドの一番下にある空行を配置することでした。この行に新しいデータを入力すると、データソースにデータが追加されます。 その後、新規データ入力用に予約されていた行はクリアされ、下に移動して新しく追加された行として表示されます。しかし、階層レコードセットの場合、この比喩は有効ではありません。データの複数のバンドは行の独立したグリッドとして表され、行のどのグループに新しいデータが入力されるかが重要になります。単純に新しいデータをバンドの最後の行に追加しても、新しいレコードをバンドの親レコードセットに対して正しい位置に配置できません。
階層レコードセットに新しいデータを効率的に追加するため、UltraGrid には、[AddNew] ボックスというインターフェイスが実装されています。[AddNew]ボックスは、新しいデータの追加を実行するために使用する1つ以上のボタンを表示します。ボタンの数は表示される階層バンドの数に対応します。各バンドには独自の [AddNew] ボタンがあり、ボタン間をリンクする線によってバンドのデータの階層関係が表されます。
[AddNew] ボックスを使用するには、最初にバンドでデータを追加する 1 つの行またはセルにフォーカスします。階層のどの位置にレコードを追加するのかを決定して、その位置に対応するレコードを選択します。新しいデータを追加するバンドの<AddNew>ボタンをクリックすると、空のデータ入力行がバンドで選択した場所に表示されます。たとえば、顧客/発注の階層があり、新しい発注のデータを追加する場合、最初に発注した顧客を探し、顧客のレコード(またはその顧客の既存の発注レコード)を選択してから、発注バンドの<AddNew>ボタンをクリックします。その顧客の既存のすべての発注の下に空の行が表示されます。
AddNewBox オブジェクトには、[AddNew] ボックス インターフェイスのさまざまな属性を制御するプロパティが含まれます。たとえば、AddNewBox オブジェクトの Hidden プロパティを使用すると、インターフェイスを選択的に表示したり非表示にしたりすることにより、ユーザーのデータ入力の有効/無効を切り替えることができます。また、このオブジェクトを使用して、[AddNew] ボタンの外観を制御したり、その他の書式機能を指定したりできます。[AddNew]ボックスの表示を標準スタイルとコンパクトスタイルから選択することもできます。コンパクト スタイルでは、[AddNew] ボタンの表示を圧縮し、階層構造の表示を除外することで、データの表示に使用するスペースを広くできます。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button3.Click ' Make the addnew box visible. Me.UltraGrid1.DisplayLayout.AddNewBox.Hidden = False ' Change the prompt on the add new box. Me.UltraGrid1.DisplayLayout.AddNewBox.Prompt = "Add a new row" ' Make the add new box compact to save space. Me.UltraGrid1.DisplayLayout.AddNewBox.Style = AddNewBoxStyle.Compact ' Set the back color of the add new box area and set the border style to etched. Me.UltraGrid1.DisplayLayout.AddNewBox.Appearance.BackColor = Color.White Me.UltraGrid1.DisplayLayout.AddNewBox.BorderStyle = UIElementBorderStyle.Etched ' Configure the way button connectors look Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonConnectorStyle = UIElementBorderStyle.Etched Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonConnectorColor = Color.Red ' Configure the way buttons look. ' Set the buttons' style to PopupSoft and set the appearance of the buttons. Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonStyle = UIElementButtonStyle.PopupSoft Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackColor = Color.SkyBlue Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackColor2 = Color.Blue Me.UltraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackGradientStyle = GradientStyle.Horizontal ' You can also customize the caption of the buttons that show up in the add-new-box. ' Each band has a button in the add-new-box. You can change the caption of these ' buttons by setting the AddButtonCaption property off the bands. You can also set ' the tool-tip text for those buttons as well by setting AddButtonToolTipText property. Me.UltraGrid1.DisplayLayout.Bands("Customers").AddButtonCaption = "New Customer" Me.UltraGrid1.DisplayLayout.Bands("Customers").AddButtonToolTipText = "Click to add a new Customers record." End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button3_Click(object sender, System.EventArgs e) { // Make the addnew box visible. this.ultraGrid1.DisplayLayout.AddNewBox.Hidden = false; // Change the prompt on the add new box. this.ultraGrid1.DisplayLayout.AddNewBox.Prompt = "Add a new row"; // Make the add new box compact to save space. this.ultraGrid1.DisplayLayout.AddNewBox.Style = AddNewBoxStyle.Compact; // Set the back color of the add new box area and set the border style to etched. this.ultraGrid1.DisplayLayout.AddNewBox.Appearance.BackColor = Color.White; this.ultraGrid1.DisplayLayout.AddNewBox.BorderStyle = UIElementBorderStyle.Etched; // Configure the way button connectors look this.ultraGrid1.DisplayLayout.AddNewBox.ButtonConnectorStyle = UIElementBorderStyle.Etched; this.ultraGrid1.DisplayLayout.AddNewBox.ButtonConnectorColor = Color.Red; // Configure the way buttons look. // Set the buttons' style to PopupSoft and set the appearance of the buttons. this.ultraGrid1.DisplayLayout.AddNewBox.ButtonStyle = UIElementButtonStyle.PopupSoft; this.ultraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackColor = Color.SkyBlue; this.ultraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackColor2 = Color.Blue; this.ultraGrid1.DisplayLayout.AddNewBox.ButtonAppearance.BackGradientStyle = GradientStyle.Horizontal; // You can also customize the caption of the buttons that show up in the add-new-box. // Each band has a button in the add-new-box. You can change the caption of these // buttons by setting the AddButtonCaption property off the bands. You can also set // the tool-tip text for those buttons as well by setting AddButtonToolTipText property. this.ultraGrid1.DisplayLayout.Bands["Customers"].AddButtonCaption = "New Customer"; this.ultraGrid1.DisplayLayout.Bands["Customers"].AddButtonToolTipText = "Click to add a new Customers record."; }