FlexGrid for WinForms
ユーザー操作
> ユーザー操作

このトピックでは、エンドユーザーに FlexGrid の行の操作を許可する方法について説明します。

ユーザー操作

追加の許可

FlexGrid は、デフォルトでは、グリッドへの新しい行の追加をエンドユーザーに許可しません。実行時に行を追加するためのオプションを提供するには、C1FlexGrid クラスの AllowAddNew プロパティを true に設定します。FlexGrid では、C1FlexGrid タスクメニューに[行の追加可能]という設計時オプションも用意されており、これを使用してエンドユーザーに新しい行の追加を許可することもできます。タスクメニューの詳細については、「タスクメニュー」を参照してください。さらに、NewRowWatermark プロパティを使用して、新しい行テンプレートに表示するウォーターマークテキストを設定することもできます。

次のコードを使用すると、WinForms FlexGrid で実行時の行追加をユーザーに許可できます。

// ユーザーが行を追加できるようにします
 c1FlexGrid1.AllowAddNew = true;
       
// テンプレートの新しい行にウォーターマークを設定します
 c1FlexGrid1.NewRowWatermark = "Add new row";
 ' ユーザーが行を追加できるようにします
 c1FlexGrid1.AllowAddNew = True

 ' テンプレートの新しい行にウォーターマークを設定します
 c1FlexGrid1.NewRowWatermark = "Add new row"      

削除の許可

FlexGrid は、デフォルトでは、グリッドからの行の削除をエンドユーザーに許可しません。ただし、アプリケーションで必要な場合は、AllowDelete プロパティを true に設定することで、エンドユーザーが[Del]キーを使用して選択した行を削除できるようにすることができます。また、C1FlexGrid タスクメニューで[行の削除可能]チェックボックスをオンにして、行の削除を可能にすることもできます。

次のコードは、実行時に WinForms FlexGrid からの行の削除をユーザーに許可する方法を示しています。

// ユーザーが行を削除できるようにします
c1FlexGrid1.AllowDelete = true;
' ユーザーが行を削除できるようにします
c1FlexGrid1.AllowDelete = True          

ドラッグを許可

FlexGrid は、デフォルトでは、ドラッグによる行の並べ替えをユーザーに許可しません。ただし、非連結グリッドでは、FlexGrid.AllowDragging プロパティと Row.AllowDragging プロパティを使用してこの動作を変更できます。グリッド行のドラッグを可能にするには、FlexGrid.AllowDragging プロパティを Rows または Both に設定します。このプロパティは、AllowDraggingEnum に含まれる値を受け取ります。 また、Row.AllowDragging プロパティを false に設定することで、特定の行のドラッグを禁止することもできます。

メモ: 連結モードでは行の移動は許可されないため、連結グリッドで行をドラッグすると、例外が生成されます。  連結モードでのドラッグの実装については、ブログ記事「Drag and Drop Rows in C1Flexgrid(C1Flexgrid での行のドラッグアンドドロップ)」を参照してください。

次のコードを使用して、非連結 WinForms FlexGrid でユーザーが実行時に行をドラッグすることを許可できます。

// グリッド全体ですべての行のドラッグを許可します   
 c1FlexGrid1.AllowDragging = C1.Win.C1FlexGrid.AllowDraggingEnum.Rows;
  
// 特定の行のドラッグを無効にします
 c1FlexGrid1.Rows[3].AllowDragging = false;  
 ' グリッド全体ですべての行のドラッグを許可します      
 c1FlexGrid1.AllowDragging = C1.Win.C1FlexGrid.AllowDraggingEnum.Rows

 ' 特定の行のドラッグを無効にします
 c1FlexGrid1.Rows(3).AllowDragging = False       

フリーズの許可

実行時にエンドユーザーが行をフリーズできるようにするには、C1FlexGrid クラスの AllowFreezing プロパティを使用します。これは、AllowFreezingEnum に含まれる値を受け取ります。このプロパティが Rows または Both に設定されている場合は、マウスポインタをヘッダー行の端に置くと鍵のアイコンが表示されます。エンドユーザーは、鍵のアイコンをクリックしてドラッグすることで行をフリーズできます。

次のコードを使用すると、実行時にユーザーが WinForms FlexGrid の行をフリーズすることを許可できます。

// 実行時に行のフリーズを許可します
c1FlexGrid1.AllowFreezing = C1.Win.C1FlexGrid.AllowFreezingEnum.Rows;
' 実行時に行のフリーズを許可します
c1FlexGrid1.AllowFreezing = C1.Win.C1FlexGrid.AllowFreezingEnum.Rows      

サイズ変更を許可

FlexGrid は、デフォルトでは、行をサイズ変更するオプションを提供していません。この動作を変更するには、C1FlexGrid クラスの AllowResizing プロパティを使用します。このプロパティは AllowResizingEnum 列挙の値を受け取り、エンドユーザーが列、行、またはその両方をサイズ変更できるようにします。この列挙では、行、列、またはその両方のサイズを一様に変更することもできます。つまり、1 つの列または行のサイズを変更すると、残りの列と行のサイズも自動的に変更されます。また、FlexGrid にはブール型の Row.AllowResizing プロパティもあります。これを使用して、特定の行のサイズ変更を有効/無効にできます。

次のコードは、実行時に WinForms FlexGrid の行のサイズ変更をユーザーに許可する方法を示しています。

   // ユーザーが行のサイズを変更できるようにします
   c1FlexGrid1.AllowResizing = C1.Win.C1FlexGrid.AllowResizingEnum.Rows;
 
   // ユーザーによる2行目のサイズ変更を停止します
   c1FlexGrid1.Rows[2].AllowResizing = false;
    ' ユーザーが行のサイズを変更できるようにします。
    c1FlexGrid1.AllowResizing = C1.Win.C1FlexGrid.AllowResizingEnum.Rows

    ' ユーザーによる2行目のサイズ変更を停止します
    c1FlexGrid1.Rows(2).AllowResizing = False