加茂屋株式会社 - ソフトウェアー - KsGrid.dll - FAQ


KsGrid    KSグリッドFAQ    簡単!! 実践KSグリッド    登録ページ    ダウンロード    リファレンス


コンテキストメニューをクリックした場合のイベントは?
ContextMenuStrip_Click イベントが発生します。
Dim a As String = CType(sender, ToolStripMenuItem).Name
変数 a に、"AddRow"などのクリックされた内容に関連付けされた、文字が帰りますので、ユーザーが、どの操作をしたかわかります。
セルを編集モードに切り替える方法は、変更できますか。
Focusing.EnterEditableMethod プロパティーまたは、
User.EnterEditableMethod プロパティー
で、設定できます。
EnterEditableMethods 列挙体
EnterEditableByFocus フォーカスが設定されると編集可能になります。
EnterEditableByDoubleClick ダブルクリックされると編集可能になります。
EnterEditableByDoubleClickAndDirect ダブルクリックまたは、キー入力で編集可能になります。
CSV形式でのエクスポートはできますか?
KsGrid.Values.ToCSV 関数をご使用ください。
CSV形式でのインポートはできますか?
KsGrid.Values.FromCSV メソッドをご使用ください。
行幅、列幅データをエクスポートする方法について。
KsGrid.Grid.GetAllWidth 関数
KsGrid.Grid.GetAllHeight 関数
で、文字列が取得、出来ます。
御社のKsGridでは、DataSourceプロパティがないのですが、データソースとしてのプロパティ類はないのでしょうか?
ございません。
Rows(最大行数)Cols(最大列数)はInterger最大数なのでしょうか?
1,000,000,000です。
但し、すべてのセルにデータを入れた場合、メモリー不足になると思います。
標準のDataGridViewにもある奇数行のBackColorなどの設定は可能ですか? (AlternatingRowsDefaultCellStyle )
自動的に1行毎にBackColorを変化させる機能は、ありません。
プログラミングで、BackColorなど設定できます。
KsGrid.Row プロパティーを参照してください。
KsGrid.Col プロパティーを参照してください。
KsGrid.Cell プロパティーを参照してください。
セルに入力できるMax文字数などのプロパティはありますか?(EditMaxLength)
エディターは、TextBoxコントロールで、内部での保存は、String型で行っています。各コントロールや型については、MSDN を参照してください。
列幅・行幅などのWidthやHightのMax(限界)はありますか?
ありません。
グリッド自体の幅、高さ以上に設定すると全体が表示できません。(行毎のスクロールしかサポートしていない為)
適切にプログラミングお願いします。
但し、ユーザーが、マウス操作で、最大限に広げると同様の理由で、困りますので、KsGrid.Mouse.SizeAdjuster.MaximumWidthRatio と言うプロパティーがあります。
マウス操作で設定できる最大の行(列)幅を取得または設定します。
グリッドの幅に対する割合を%で指定します。Default:80
範囲選択されたテキストの文字数/開始点/文字列を設定するプロパティはありますか?(EditSelLength、EditSelStart、EditSelText)
KsGrid.Focusing.EditerTextBox (TextBoxコントロール)
KsGrid.Focusing.EditerComboBox (ComboBoxコントロール)
KsGrid.Focusing.EditerCheckBox (CheckBoxコントロール)
で、編集に使用される各コントロールに直接アクセスできます。
各コントロールについては、MSDN を参照してください。
グリッド線のスタイルを破線や二重線にできるのでしょうか?
二重線は、出来ます。 Sample4参照。
破線は、出来ません。 出来るべきだと考えていますので、今後の検討課題とします。
選択したセルをハイライト表示するかどうかを設定可能? (HighLight)
KsGrid.Focusing プロパティー内の色々なプロパティーを参照してください。
HighLight としての定義ではなく、線の太さ、色、バックカラー等の指定で、いろいろ出来ます。
カレント行を設定やカレント列を設定はコード上で出来るのでしょうか?
KsGrid.Focusing.SetFocus
KsGrid.Focusing.SetNoFocus
の等が、該当するかと思います。
グリッド全体を囲むボーダーの色を設定可能でしょうか?
KsGrid.Grid.AllFrameStyle.Color = Color.Black
KsGrid.Grid.LeftFrameStyle.Color = Color.Black
KsGrid.Grid.RightFrameStyle.Color = Color.Black
KsGrid.Grid.TopFrameStyle.Color = Color.Black
KsGrid.Grid.BottomFrameStyle.Color = Color.Black
で、全て、または、各辺の色を設定を設定できます。また、色以外にも太さ、二重線、破線等設定できます。
セルの場合も同じです。
但し、セルの場合は、破線の設定ができません。
KsGrid.Cell(1, 1).AllFrameStyle.Color = Color.Black
KsGrid.Cell(1, 1).LeftFrameStyle.Color = Color.Black
KsGrid.Cell(1, 1).RightFrameStyle.Color = Color.Black
KsGrid.Cell(1, 1).TopFrameStyle.Color = Color.Black
KsGrid.Cell(1, 1).BottomFrameStyle.Color = Color.Black
セルの値のタイプについて、String型が基本のようですが、IntegerとかDateタイプ等の指定は不可能でしょうか?(書式はFormatStringで出来ているが)
残念ながら、出来ません。
書式文字列(FormatString)が指定されている場合、
まず、日付に変換できるか
次にDecimalに変換できるか
次にDoubleに変換できるか
最後に文字として、書式を決定しています。
KSGrid内部のTabキーでのCell移動は不可能でしょうか?
残念ながら、出来ません。
KSGridの標準でついているコンテキストメニューなのですが、右クリックしても表示しないようにしたり、また別のメニューを出したいのでカスタマイズしたいのですが、可能でしょうか?
コンテキストメニューを表示する、しない。
.User.UseContextMenu = True|False

コンテキストメニューに表示する、しない。
.User.Use_AutoAdjust = True|False
.User.UseContextAddCol = True|False
.User.UseContextAddComment = True|False
.User.UseContextAddRow = True|False
.User.UseContextDelCol = True|False
.User.UseContextDelComment = True|False
.User.UseContextDelRow = True|False
めんどくさいので、全てを一発で設定する。
.User.UseContextMenuAll = True|False

コンテキストメニューに追加する。

With KsGrid1
Dim CMenu(1) As ContextMenuItem
  CMenu(0).Name = "Menu1"
  CMenu(0).Text = "メニュー1"
  CMenu(1).Name = "Menu2"
  CMenu(1).Text = "メニュー2"
  .Mouse.ContextMenuItems = CMenu
  .Draw()
End With

コンテキストクリックのイベントを採る。
Private Sub KsGrid1_ContextMenuStrip_Click(ByVal sender As Object, ByVal e As _ KsGrid.ContextMenuStripClickEventArgs) Handles KsGrid1.ContextMenuStrip_Click
  Select Case CType(sender, ToolStripMenuItem).Name
    Case "Menu1"
      Stop
    Case "Menu2"
      Stop
  End Select
End Sub
ContextMenuStripの使用方法なのですが、「切り取り」「コピー」「貼り付け」のメニューは、どうやって消すのでしょうか。
KsGrid.User.UseKey_Ctrl_C = False
KsGrid.User.UseKey_Ctrl_X = False
KsGrid.User.UseKey_Ctrl_V = False
で、キーボード操作ができなくなると共に、メニューから消えます。
セルのComboBoxタイプについてですが、ComboItemに配列を設定すれば、Itemsが設定できるのはいいとして、そこに数値を設定した例ですが・・
"1:りんご"、"2:みかん"、"3:メロン"と設定した場合に、データに数値が入ってきた場合、あるいは数値を入力された場合に、検索(FindStringなど)を行って、該当する表示にすることは不可能でしょうか・・?
例:1と入力 ⇒ 1:りんご と表示     データに2を設定 ⇒ 2:みかん と表示
データに数値が入ってきた場合は、出来ません。
数値を入力した場合
DropDown では出来ませんが、
DropDownList では出来るようです。
ComboItemの選択が確定された時のイベントは取れるでしょうか?(SelectionChangeCommittedもしくは、SelectedIndexChanged)
Editer_SelectedIndexChanged
Editer_SelectionChangeCommitted
PDFやDoc(Rtf)などの出力はできますか?
出来ません。
セルにマスク指定は出来ますか?
出来ません。
CommentPopup_GotFocusとCommentPopUp_TextBoxGotFocusはどう違うのでしょうか?
CommentPopup_GotFocus等は、CommentPopupの外枠を指します。
CommentPopUp_TextBoxGotFocus等は、CommentPopupの中側を指します。
表の横合計(行のデータ)の平均値を、一括で設定するには?
For LoopI = 0 to 5
   .Values.Expression(LoopI, .Cols - 1) = "average(CurRow,0,CurRow,cols -2)"
Next LoopI
データの長さに合わせて列幅を自動調節するプロパティがなければ、ソースコード上で可能でしょうか?
機能を追加しました。
ツールチップの色を変更することは可能でしょうか?
KsGrid.CellToolTip.LabelTipで、ツールチップに見せている、Labelコントロールにアクセスできます。
内部からも、呼び出して使用していますので、慎重にプログラムしてください。。
Click イベント と MouseClick イベント について
Click イベント と MouseClick イベント について
Click イベントでは、KsGrid.CellsEventArgs を返しますので、どのボタンが押されたか分かりません。
MouseClick イベントでは、KsGrid.CellMouseEventArgs を返しますので、どのボタンが押されたか取得できます。
また、MouseClick イベントは、Click イベントより後で発生します。
どのボタンが押されたか取得が必要な場合は、MouseClick イベントをご利用ください。

お問い合わせは、こちら

加茂屋株式会社 (C) Kamoya Corporation