aspnet-devexpress-dot-web-dot-aspxgridview-171abf91.md
Provides access to a GridView’s column collection.
Namespace : DevExpress.Web
Assembly : DevExpress.Web.v25.2.dll
NuGet Package : DevExpress.Web
[DefaultValue(null)]
public GridViewColumnCollection Columns { get; }
<DefaultValue(Nothing)>
Public ReadOnly Property Columns As GridViewColumnCollection
| Type | Default | Description |
|---|---|---|
| GridViewColumnCollection | null |
A GridViewColumnCollection object that represents a collection of columns within the ASPxGridView control.
|
The Columns property stores a collection of GridViewColumn objects that represent columns. It provides methods that allow you to add new and remove existing columns. Individual columns can be accessed using indexed notation.
In markup:
<dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server" DataSourceID="SqlDataSource1" KeyFieldName="ProductID">
<Columns>
<dx:GridViewCommandColumn ShowSelectCheckbox="false" />
<dx:GridViewDataColumn FieldName="ProductID" />
<dx:GridViewDataColumn FieldName="ProductName" />
<dx:GridViewDataColumn FieldName="UnitPrice" />
</Columns>
</dx:ASPxGridView>
In code:
using DevExpress.Web;
...
protected void Page_Load(object sender, EventArgs e) {
ASPxGridView grid1 = new ASPxGridView();
grid1.ID = "grid1";
grid1.AutoGenerateColumns = false;
grid1.DataSourceID = "SqlDataSource1";
grid1.KeyFieldName = "ProductID";
grid1.Columns.AddRange(new GridViewDataColumn[]{
new GridViewDataColumn { FieldName="ProductID", ReadOnly = true, VisibleIndex = 0},
new GridViewDataColumn() { FieldName = "ProductName", VisibleIndex = 1 },
new GridViewDataColumn() { FieldName = "UnitPrice", VisibleIndex = 2 },
});
Page.Form.Controls.Add(grid1);
}
Imports DevExpress.Web
...
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim grid1 As ASPxGridView = New ASPxGridView()
grid1.ID = "grid1"
grid1.AutoGenerateColumns = False
grid1.DataSourceID = "SqlDataSource1"
grid1.KeyFieldName = "ProductID"
grid1.Columns.AddRange(New GridViewDataColumn() {
New GridViewDataColumn With {
.FieldName = "ProductID",
.[ReadOnly] = True,
.VisibleIndex = 0
},
New GridViewDataColumn() With {
.FieldName = "ProductName",
.VisibleIndex = 1
},
New GridViewDataColumn() With {
.FieldName = "UnitPrice",
.VisibleIndex = 2
}
})
Page.Form.Controls.Add(grid1)
End Sub
Result:
The following code snippets (auto-collected from DevExpress Examples) contain references to the Columns property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.
ASPxComboBox combo2 = ((ASPxComboBox)grid.FindEditRowCellTemplateControl(
grid.Columns["Category2ID"] as GridViewDataComboBoxColumn, "Cat2"));
combo2.Value = null;
asp-net-web-forms-grid-set-edit-form-values/CS/Solution/ServerSide.aspx.cs#L19
ASPxGridView grid = (ASPxGridView)sender;
ASPxSpinEdit unitPriceEditor = (ASPxSpinEdit)grid.FindEditRowCellTemplateControl(((GridViewDataColumn)grid.Columns["UnitPrice"]), "UnitPriceEditor");
ASPxSpinEdit unitsInStockEditor = (ASPxSpinEdit)grid.FindEditRowCellTemplateControl(((GridViewDataColumn)grid.Columns["UnitsInStock"]), "UnitsInStockEditor");
asp-net-web-forms-grid-create-report-based-on-grid-layout/CS/WebApplication1/ReportHelper.cs#L64
foreach(ASPxSummaryItem item in aspxGridView1.GroupSummary) {
GridViewColumn col = aspxGridView1.Columns[item.FieldName];
if(col != null) {
List<string> fieldNames = new List<string>();
foreach(GridViewColumn column in ASPxGridView1.Columns)
if(column is GridViewDataColumn)
protected void Page_Load(object sender, EventArgs e) {
var comboColumn = ((GridViewDataComboBoxColumn)grid.Columns["CategoryID"]);
comboColumn.PropertiesComboBox.DataSource = dsCombo;
Session("Cat1ID") = combo1.Value
Dim combo2 As ASPxComboBox = (CType(grid.FindEditRowCellTemplateControl(TryCast(grid.Columns("Category2ID"), GridViewDataComboBoxColumn), "Cat2"), ASPxComboBox))
combo2.Value = Nothing
asp-net-web-forms-grid-set-edit-form-values/VB/Solution/ServerSide.aspx.vb#L22
Dim grid As ASPxGridView = CType(sender, ASPxGridView)
Dim unitPriceEditor As ASPxSpinEdit = CType(grid.FindEditRowCellTemplateControl(CType(grid.Columns("UnitPrice"), GridViewDataColumn), "UnitPriceEditor"), ASPxSpinEdit)
Dim unitsInStockEditor As ASPxSpinEdit = CType(grid.FindEditRowCellTemplateControl(CType(grid.Columns("UnitsInStock"), GridViewDataColumn), "UnitsInStockEditor"), ASPxSpinEdit)
asp-net-web-forms-grid-create-report-based-on-grid-layout/VB/WebApplication1/ReportHelper.vb#L66
For Each item As ASPxSummaryItem In aspxGridView1.GroupSummary
Dim col As GridViewColumn = aspxGridView1.Columns(item.FieldName)
If col IsNot Nothing Then
Dim fieldNames As New List(Of String)()
For Each column As GridViewColumn In ASPxGridView1.Columns
If TypeOf column Is GridViewDataColumn Then
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim comboColumn = CType(grid.Columns("CategoryID"), GridViewDataComboBoxColumn)
comboColumn.PropertiesComboBox.DataSource = dsCombo
See Also