サポート&サービス

Home > サポート&サービス > テクニカルサポート > ナレッジベース

テクニカルサポート

製品に関する技術的なサービスを提供しています。製品別の技術情報(ナレッジベース)および、対応環境情報をご覧いただけます。また、E-mailによるテクニカルサポートのお申し込みもこちらで受け付けています。

ナレッジベース

[True DBGrid for Windows Forms] 行番号を表示するには?
文書番号 : 29961     文書種別 : HowTo
最終更新日 : 2010/10/09
文書を印刷する
対象製品
ComponentOne Studio 2010J
詳細
True DBGrid for .NETには自動的に行番号を表示するような機能は実装されていません。また、レコードセレクタ部分にデータを表示することはできません。そのため、非連結列を用意し、非連結列にコードから行番号を設定する方法で対応します。


行番号の表示

◎サンプルコード(VB)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  ...
  ' 非連結列を追加
  Dim co As New C1.Win.C1TrueDBGrid.C1DataColumn
  co.Caption = "No"
  C1TrueDBGrid1.Columns.Add(co)
  ' 非連結列を表示、先頭に移動
  Dim dc As C1.Win.C1TrueDBGrid.C1DisplayColumn
  dc = C1TrueDBGrid1.Splits(0).DisplayColumns("No")
  dc.Visible = True
  dc.Width = 20
  C1TrueDBGrid1.Splits(0).DisplayColumns.RemoveAt(C1TrueDBGrid1.Splits(0).DisplayColumns.IndexOf(dc))
  C1TrueDBGrid1.Splits(0).DisplayColumns.Insert(0, dc)
End Sub

' 非連結列に行番号を表示
Private Sub C1TrueDBGrid1_UnboundColumnFetch(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.UnboundColumnFetchEventArgs) Handles C1TrueDBGrid1.UnboundColumnFetch
  If e.Column.Caption = "No" Then
    ' 1から行番号を表示
    e.Value = e.Row + 1
  End If
End Sub

◎サンプルコード(C#)

private void Form1_Load(object sender, EventArgs e)
{
  // データの設定
  // ...
  // 非連結列を追加
  C1.Win.C1TrueDBGrid.C1DataColumn co;
  co = new C1.Win.C1TrueDBGrid.C1DataColumn();
  co.Caption = "No";
  c1TrueDBGrid1.Columns.Add(co);
  // 非連結列を表示、先頭に移動
  C1.Win.C1TrueDBGrid.C1DisplayColumn dc;
  dc = this.c1TrueDBGrid1.Splits[0].DisplayColumns["No"];
  dc.Visible = true;
  dc.Width = 20;
  c1TrueDBGrid1.Splits[0].DisplayColumns.RemoveAt(
   c1TrueDBGrid1.Splits[0].DisplayColumns.IndexOf(dc));
  c1TrueDBGrid1.Splits[0].DisplayColumns.Insert(0, dc);
}

// 非連結列に行番号を表示
private void c1TrueDBGrid1_UnboundColumnFetch(object sender, C1.Win.C1TrueDBGrid.UnboundColumnFetchEventArgs e)
{
  if (e.Column.Caption == "No")
  {
    // 1から行番号を表示
    e.Value = Convert.ToString(e.Row + 1);
  }
}

この情報は、疑問・問題解決のお役に立ちましたか?

    


こちらに入力されたご質問には回答できませんので、製品に関するお問い合わせは、別途「E-mailサポート」をご利用ください。


※ 個人情報保護のため、個人情報の記入はご遠慮ください。

このページの先頭へ