使用DevExpress Windows窗体将运行时的数据与DevExpress绑定到特定列

时间:2013-02-15 02:05:31

标签: c# winforms devexpress runtime xtragrid

我使用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的数据绑定在运行时选择的数据库中所选表的选定列

抱歉我的英语不好。 我希望你们所有人都可以帮助我。 感谢

1 个答案:

答案 0 :(得分: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 Propertie告诉Grid在哪里可以找到数据。如果您使用List作为DataSource,这可以是DataColumn的名称或Propertie的名称。