作成日: 2020/04/20 最終更新日: 2020/04/20
文書種別
使用方法
詳細
DataSourceプロパティを設定する前にデザイナ上から列幅等を設定していたような場合、この列幅の設定は、データソースに何も指定されていないグリッドに対して行っていることになります。グリッドにデータソースを設定すると、通常、グリッドはデーソースの内容(情報)で列のレイアウト等を再構築するので、それ以前の設定はクリアされることになります。
設計時にデザイナ上でレイアウトを設定し、それを保持したままデータソースを設定したい場合、次の手順を実行します。
1.デザイナで、各列のNameプロパティに、対応するデータ列の名称を設定します。
2.実行時に、AutoGenerateColumnsプロパティをFalseに設定してからDataSourceプロパティにデータソースを設定します。
以下に、"ColB"列、"ColC"列を持つグリッドを設計し、"ColA"、"ColB"、"ColC"を持つデータテーブルに連結して、"ColB"列、"ColC"列のみを表示するサンプルコードを記載します。
(設定手順)
1.デザイナで、列数を3(固定列=1個, 非固定列=2個)にし、以下のプロパティを設定します。
・非固定列の最初の列のNameプロパティを”ColB”に設定
・非固定列の2列目のNameプロパティを”ColC”に設定
※それぞれの列のCaptionプロパティも”ColB”、”ColC”に設定しておきます。
2.Form_Loadに後述のコードを追加し、実行します。
(結果)
グリッドには"ColB"列、"ColC"列の2列が存在し、データテーブルの"ColB"、"ColC"に設定したデータが表示されます。
◎サンプルコード(VB)
設計時にデザイナ上でレイアウトを設定し、それを保持したままデータソースを設定したい場合、次の手順を実行します。
1.デザイナで、各列のNameプロパティに、対応するデータ列の名称を設定します。
2.実行時に、AutoGenerateColumnsプロパティをFalseに設定してからDataSourceプロパティにデータソースを設定します。
以下に、"ColB"列、"ColC"列を持つグリッドを設計し、"ColA"、"ColB"、"ColC"を持つデータテーブルに連結して、"ColB"列、"ColC"列のみを表示するサンプルコードを記載します。
(設定手順)
1.デザイナで、列数を3(固定列=1個, 非固定列=2個)にし、以下のプロパティを設定します。
・非固定列の最初の列のNameプロパティを”ColB”に設定
・非固定列の2列目のNameプロパティを”ColC”に設定
※それぞれの列のCaptionプロパティも”ColB”、”ColC”に設定しておきます。
2.Form_Loadに後述のコードを追加し、実行します。
(結果)
グリッドには"ColB"列、"ColC"列の2列が存在し、データテーブルの"ColB"、"ColC"に設定したデータが表示されます。
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable("Test")
dt.Columns.Add("ColA", GetType(String))
dt.Columns.Add("ColB", GetType(String))
dt.Columns.Add("ColC", GetType(String))
For i = 0 To 9
dt.Rows.Add($"A{i}", $"B{i}", $"C{i}")
Next
dt.AcceptChanges()
' グリッドの設定
C1FlexGrid1.AutoGenerateColumns = False
C1FlexGrid1.DataSource = dt
End Sub
End Class
◎サンプルコード(C#)using C1.Win.C1FlexGrid;
namespace prj_C1FlexGrid
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
DataTable dt = new DataTable("Test");
dt.Columns.Add("ColA", typeof(string));
dt.Columns.Add("ColB", typeof(string));
dt.Columns.Add("ColC", typeof(string));
for (int i = 0; i <= 9; i++)
{
dt.Rows.Add($"A{i}", $"B{i}", $"C{i}");
}
dt.AcceptChanges();
// グリッドの設定
c1FlexGrid1.AutoGenerateColumns = false;
c1FlexGrid1.DataSource = dt;
}
}
}
関連情報
旧文書番号
85493