我使用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的数据绑定在运行时选择的数据库中所选表的选定列
抱歉我的英语不好。 我希望你们所有人都可以帮助我。 感谢答案 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的名称。