将 Gridview 的 Auto“AutoGenerateColumns”属性设置为 true。然后为数据源分配列名。
并且当您使用 Devexpress 时,您必须在 Page Init 中设置数据源。这不是完美/完整的代码,但你可以从这个代码块中得到想法。
protected void Page_InIt(object sender, EventArgs e)
{
BindGrid("Customers");
}
private void BindGrid(string strDataSourceType)
{
var customers, providers = null;
if (strDataSourceType == "Customers")
{
customers = (from x in Context.Customers
select new
{
CustomerId = x.ID,
CustomerName = x.Name
}).ToList();
}
else if (strDataSourceType == "Providers")
{
providers = (from x in Context.Providers
select new
{
ProviderId = x.ID,
ProviderName = x.Name
}).ToList();
}
grid.DataSource = customers / providers;
grid.AutoGenerateColumns = true;
grid.DataBind();
}
现在,由于您只想更改列名,因此您可以这样做(设置标题属性),
foreach (DevExpress.Web.ASPxGridView.GridViewDataColumn column in grid.Columns)
{
if (column.FieldName == "Name")
column.Caption = "Customer Name";
if (column.FieldName == "ID")
column.Caption = "Customer ID";
}
如果您知道列顺序,那么您可以在不使用 foreach 循环的情况下设置标题。你可以这样做,
grid.Columns[0].Caption = "客户名称"; grid.Columns[1].Caption = "客户 ID";