0

我用 DevExpress 制作了 WinForm 应用程序,它是我的代码(C#)的一部分:

public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
{
    private DataTable _Tbl;
    private DataTable CreateTable(int RowCount)
    {
        _Tbl = new DataTable();
        _Tbl.Columns.Add("New Field", typeof(string));

        for (int i = 0; i < RowCount; i++)
            _Tbl.Rows.Add(new object[] { });

        return _Tbl;
    }




    int i = 0;

    private void simpleButton1_Click_1(object sender, EventArgs e)
    {
        i++;
        int index = i % _Tbl.Columns.Count;
        DevExpress.XtraGrid.Columns.GridColumn col = gridView1.Columns.AddVisible(_Tbl.Columns[index].ColumnName);
        col.Name = "Column_{0}" + i;
                }

    public XtraForm1()
    {

        InitializeComponent();
        gridControl1.DataSource = CreateTable(20);
        gridView1.Columns.Clear();

    }
}

当按下按钮时,代码将在运行时创建一列,我的问题是如何将 XtraGrid 中的选定列与任何 DBMS 中的数据与运行时选定的数据库中选定表中的选定列绑定

对不起,我的英语不好。我希望你们都可以帮助我。谢谢

4

1 回答 1

0

您需要将 DataTable 列的名称设置为 GridColumn 的 FieldName 属性。

如果我理解正确,这应该会有所帮助:

private void simpleButton1_Click_1(object sender, EventArgs e)
{
    i++;
    int index = i % _Tbl.Columns.Count;
    DevExpress.XtraGrid.Columns.GridColumn col = gridView1.Columns.AddVisible(_Tbl.Columns[index].ColumnName);
    col.Name = "Column_{0}" + i;
    col.FieldName = "Column_{0}" + i";
}

FieldName 属性告诉网格在哪里可以找到数据。如果您使用列表作为数据源,这可能是数据列的名称或属性的名称。

于 2013-02-18T08:27:01.423 回答