<commit_before>---
title: Overview
page_title: Server-Side Programming Overview | RadGrid for ASP.NET AJAX Documentation
description: Overview
slug: grid/server-side-programming/overview
tags: overview
published: True
position: 0
---

# Server-Side Programming Overview

For instructions and examples for a server-side approach to access Cells, Values, Controls and more in RadGrid, visit the: [Accessing Values and Controls]({%slug grid/accessing-values-and-controls/overview%}) article.

## Classes and Properties

Following is a table of the most important properties you should be aware of when working with RadGrid.


|  **Property**  |  **Description**  |
| ------ | ------ |
| **RadGrid.MasterTableView** |The main grid table - in the general case, when there is no hierarchy, only **RadGrid.MasterTableView** is rendered. You can think of this table as if it is the grid itself. **MasterTableView** and generally all table-views in the hierarchy use the style, client behavior and other settings applied to **RadGrid** , unless explicitly specified otherwise.|
| **GridTableView.DetailTables** |This collection is used for defining the hierarchical structure of **RadGrid** .|
| **RadGrid.ClientSettings** |Set various client-side appearance and behavior options. See [RadGridTable client-side API]({%slug grid/client-side-programming/overview%}) for details.|
| **RadGrid.*Style** |Properties that control the visual appearance of **RadGrid** and all tables in the hierarchy.|
| **GridDataTable.*Style properties** |Properties that control the visual appearance of **GridDataTable** and all tables in the hierarchy.|
| **GridTableView.ColumnGroups** |A collection of type GridColumnGroupCollection which holds the multiheaders in the GridTableView|
| **GridTableView.GroupByExpressions** |Add or remove objects to this collection to set grouping programmatically.|
| **GridTableView.SortExpressions** |Add or remove objects to this collection to set sorting programmatically.|
| **GridTableView.Columns** , **GridTableView.AutoGeneratedColumns** , **GridTableView.RenderColumns** |Properties to access runtime columns. Columns are set by default in design mode. **AutoGeneratedColumns** - are automatically generated columns **RenderColumns** - all columns - columns+ AutoGenerated (if any) + structure columns - expand/collapse and group-splitters|

>note Instead of setting properties for each GridTableView, you can use RadGrid global properties for: PageSize, AllowSorting, AllowPaging, AllowCustomPaging, ShowFooter, ShowHeader, BackColor, BorderColor, PagerStyle. Thus they will be set for each table in the hierarchy, unless specified otherwise.
>


## Events

When working with Telerik RadGrid you will probably often use the following events (sorted by categories).

### Command events
<commit_msg>docs(grid): link the autogenerated server API<commit_after>---
title: Overview
page_title: Server-Side Programming Overview | RadGrid for ASP.NET AJAX Documentation
description: Overview
slug: grid/server-side-programming/overview
tags: overview
published: True
position: 0
---

# Server-Side Programming Overview

For a list with the server-side properties and methods of the control, see the [Server-Side API of the RadGrid class](https://docs.telerik.com/devtools/aspnet-ajax/api/server/Telerik.Web.UI/RadGrid). You can also find it in the intellisense in Visual Studio.

For instructions and examples for a server-side approach to access Cells, Values, Controls and more in RadGrid, visit the: [Accessing Values and Controls]({%slug grid/accessing-values-and-controls/overview%}) article.

## Classes and Properties

Following is a table of the most important properties you should be aware of when working with RadGrid.


|  **Property**  |  **Description**  |
| ------ | ------ |
| **RadGrid.MasterTableView** |The main grid table - in the general case, when there is no hierarchy, only **RadGrid.MasterTableView** is rendered. You can think of this table as if it is the grid itself. **MasterTableView** and generally all table-views in the hierarchy use the style, client behavior and other settings applied to **RadGrid** , unless explicitly specified otherwise.|
| **GridTableView.DetailTables** |This collection is used for defining the hierarchical structure of **RadGrid** .|
| **RadGrid.ClientSettings** |Set various client-side appearance and behavior options. See [RadGridTable client-side API]({%slug grid/client-side-programming/overview%}) for details.|
| **RadGrid.*Style** |Properties that control the visual appearance of **RadGrid** and all tables in the hierarchy.|
| **GridDataTable.*Style properties** |Properties that control the visual appearance of **GridDataTable** and all tables in the hierarchy.|
| **GridTableView.ColumnGroups** |A collection of type GridColumnGroupCollection which holds the multiheaders in the GridTableView|
| **GridTableView.GroupByExpressions** |Add or remove objects to this collection to set grouping programmatically.|
| **GridTableView.SortExpressions** |Add or remove objects to this collection to set sorting programmatically.|
| **GridTableView.Columns** , **GridTableView.AutoGeneratedColumns** , **GridTableView.RenderColumns** |Properties to access runtime columns. Columns are set by default in design mode. **AutoGeneratedColumns** - are automatically generated columns **RenderColumns** - all columns - columns+ AutoGenerated (if any) + structure columns - expand/collapse and group-splitters|

>note Instead of setting properties for each GridTableView, you can use RadGrid global properties for: PageSize, AllowSorting, AllowPaging, AllowCustomPaging, ShowFooter, ShowHeader, BackColor, BorderColor, PagerStyle. Thus they will be set for each table in the hierarchy, unless specified otherwise.
>


## Events

When working with Telerik RadGrid you will probably often use the following events (sorted by categories).

### Command events

{'fraction_non_alphanumeric': 0.09115462525320729, 'fraction_numerical': 0.00033760972316002703, 'mean_word_length': 5.405405405405405, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2488226', 'n_tokens_mistral': 1500, 'n_tokens_neox': 1424, 'n_words': 660}