PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > 編集、検証、選択 > 編集 > セルのロック |
ユーザーがセルに入力や編集ができないように、セルまたはセル範囲をロックすることができます。セルのロックは、セルやセル範囲だけではなく、行および列単位で設定することも可能です。
なお、ロックを有効にするには、シートの Protect プロパティを True(デフォルト値)に設定する必要があります。 このプロパティが False に設定されていると、ロック対象としてマークされている場合でも、ユーザーはこのセルの操作が可能になります。
また、ロックされているセルの背景色や文字色を設定することも可能です。
ロックされたセルの背景色はSheetView クラスのLockBackColor プロパティ、文字色はLockForeColor プロパティで設定できます。
次のサンプルコードは、複数列のセルをロックし、次に1つの行内のセルのロックを解除します。
FpSpread1.ActiveSheetView.Protect = true; FpSpread1.ActiveSheetView.LockBackColor = Color.LightCyan; FpSpread1.ActiveSheetView.LockForeColor = Color.Green; FpSpread1.ActiveSheetView.Columns[0, 3].Locked = true; FpSpread1.ActiveSheetView.Cells[1,1,1,2].Locked = false;
FpSpread1.ActiveSheetView.Protect = True FpSpread1.ActiveSheetView.LockBackColor = Color.LightCyan FpSpread1.ActiveSheetView.LockForeColor = Color.Green FpSpread1.ActiveSheetView.Columns(0, 3).Locked = TrueFpSpread1.ActiveSheetView.Cells(1,1,1,2).Locked = False
クライアント側で、セルをロックおよびロックの解除を行うことができます。クライアント側ではセル単位での操作となるので、Cells メソッド によりセルオブジェクトを取得し、SetLocked メソッドを実行します。ロックするにはこのメソッドパラメータにtrueを、ロックを解除するにはfalseを設定します。
また、ロック状態を取得するには、GetLockedメソッドを使用します。
なお、クライアント側でのロック解除を許可するには、FpSpread クラスのAllowClientUnlock プロパティをtrueに設定する必要があります。
次のサンプルコードは、クライアント側でロック状態を切り替える例です。
var spread = FpSpread("FpSpread1"); var locked = !spread.Cells(1, 1).GetLocked(); spread.Cells(1, 1).SetLocked(locked);