PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > 編集、選択、フォーカス > 選択 > 操作モードと選択ポリシー |
ユーザーは個々のセル、セル範囲、列、行、またはシート全体を選択できますが、操作モード、選択ポリシー、またはシート単位の設定によって、ユーザーによる選択の方法、およびユーザーが選択可能な内容をカスタマイズできます。
次の表は、ユーザーに許可する選択内容に関わる設定の一覧です。
ユーザーに許可する選択内容 | 設定 |
---|---|
セル | FpSpread.SelectionBlockOptions.Cells |
行 | FpSpread.SelectionBlockOptions.Rows |
列 | FpSpread.SelectionBlockOptions.Columns |
シート | FpSpread.SelectionBlockOptions.Sheet |
組み合わせ | FpSpread.SelectionBlockOptions.number(number は個々の設定の合計値。たとえば行と列の場合は 2+4=6) |
セル、セル範囲、または複数のセル範囲 | OperationMode.Normal、SelectionPolicy プロパティ |
行の選択のみ(編集不可) | OperationMode.SingleSelect |
行の選択のみ(編集可) | OperationMode.RowMode |
複数の隣接行の選択(編集不可) | OperationMode.MultiSelect |
複数の非隣接行の選択(編集不可) | OperationMode.ExtendedSelect |
FpSpreadクラスのSelectionBlockOptionsプロパティはコントロールレベルで設定し、SheetViewクラスのOperationModeプロパティは、シートレベルで設定することに注意してください。
OperationModeおよびSelectionBlockOptionsプロパティの設定は、ユーザーによる操作に適用されます。つまり、これらのプロパティを設定すると、ユーザーが選択可能な内容は制限されますが、アプリケーションによって選択可能な内容に影響はありません。 ユーザーとアプリケーションの両方に許可する選択内容をカスタマイズするには、SelectionUnitプロパティを使用します。
シートの RestrictRowsおよびRestrictColumnsメソッドを使用すると、編集可能なセルを制限することもできます。この制限によりユーザーは、指定の行または列より先のセルにデータを入力できなくなります。 詳細については、SheetViewクラスのSelectionPolicyおよびSelectionUnitプロパティ、およびFpSpreadクラスのSelectionBlockOptionsプロパティを参照してください。 また、OperationMode列挙体およびSelectionBlockOptions列挙体も参照してください。次のサンプルコードは、ユーザーにセルまたはセル範囲(複数のセル範囲も可)の選択だけを許可するようにシートを設定します。 ユーザーは複数の列や行、またはシート全体を選択することはできません。
C# |
コードのコピー
|
---|---|
// ユーザーがセルだけを選択できるようにオプションを設定します。 fpSpread1.SelectionBlockOptions = FarPoint.Win.Spread.SelectionBlockOptions.Cells; // オペレーションモードを設定し、ユーザーに複数のセルブロックの選択を許可します。 fpSpread1.Sheets[0].OperationMode = FarPoint.Win.Spread.OperationMode.Normal; fpSpread1.Sheets[0].SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange; |
Visual Basic |
コードのコピー
|
---|---|
' ユーザーがセルだけを選択できるようにオプションを設定します。 FpSpread1.SelectionBlockOptions = FarPoint.Win.Spread.SelectionBlockOptions.Cells ' オペレーションモードを設定し、ユーザーに複数のセルブロックの選択を許可します。 FpSpread1.Sheets(0).OperationMode = FarPoint.Win.Spread.OperationMode.Normal FpSpread1.Sheets(0).SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange |