Back to Devexpress

ASPxGridView.Columns Property

aspnet-devexpress-dot-web-dot-aspxgridview-171abf91.md

latest9.5 KB
Original Source

ASPxGridView.Columns Property

Provides access to a GridView’s column collection.

Namespace : DevExpress.Web

Assembly : DevExpress.Web.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
[DefaultValue(null)]
public GridViewColumnCollection Columns { get; }
vb
<DefaultValue(Nothing)>
Public ReadOnly Property Columns As GridViewColumnCollection

Property Value

TypeDefaultDescription
GridViewColumnCollectionnull

A GridViewColumnCollection object that represents a collection of columns within the ASPxGridView control.

|

Remarks

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.

Concept

ASPxGridView Columns

Example

In markup:

aspx
<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:

csharp
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);
}
vb
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:

Online Demos

ASPxGridView Demos

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.

asp-net-web-forms-grid-use-cascading-combo-boxes-in-inline-edit-mode/CS/MultiCombo/Default.aspx.cs#L13

csharp
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

csharp
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

csharp
foreach(ASPxSummaryItem item in aspxGridView1.GroupSummary) {
    GridViewColumn col = aspxGridView1.Columns[item.FieldName];
    if(col != null) {

asp-net-web-forms-grid-get-column-values-of-multiple-selected-rows/CS/GetSelectedValuesAllColumns/Default.aspx.cs#L48

csharp
List<string> fieldNames = new List<string>();
foreach(GridViewColumn column in ASPxGridView1.Columns)
    if(column is GridViewDataColumn)

asp-net-web-forms-grid-bind-comboboxcolumn-edit-form-editor-at-runtime/CS/Solution/Default.aspx.cs#L12

csharp
protected void Page_Load(object sender, EventArgs e) {
    var comboColumn = ((GridViewDataComboBoxColumn)grid.Columns["CategoryID"]);
    comboColumn.PropertiesComboBox.DataSource = dsCombo;

asp-net-web-forms-grid-use-cascading-combo-boxes-in-inline-edit-mode/VB/MultiCombo/Default.aspx.vb#L16

vb
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

vb
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

vb
For Each item As ASPxSummaryItem In aspxGridView1.GroupSummary
    Dim col As GridViewColumn = aspxGridView1.Columns(item.FieldName)
    If col IsNot Nothing Then

asp-net-web-forms-grid-get-column-values-of-multiple-selected-rows/VB/GetSelectedValuesAllColumns/Default.aspx.vb#L50

vb
Dim fieldNames As New List(Of String)()
For Each column As GridViewColumn In ASPxGridView1.Columns
    If TypeOf column Is GridViewDataColumn Then

asp-net-web-forms-grid-bind-comboboxcolumn-edit-form-editor-at-runtime/VB/Solution/Default.aspx.vb#L18

vb
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

AllColumns

AutoGenerateColumns

Grid View

ASPxGridView Class

ASPxGridView Members

DevExpress.Web Namespace