all groups > asp.net building controls > may 2007 >
You're in the

asp.net building controls

group:

AutoGeneratedField


AutoGeneratedField Bora
5/23/2007 6:24:32 PM
asp.net building controls: Why a TemplateField cannot be a AutoGeneratedField when we have an inherited
GridView class?

What is the difference between
System.Collections.ICollection CreateColumns(PagedDataSource dataSource,
bool useDataSource)
and
AutoGeneratedField CreateAutoGeneratedColumn(AutoGeneratedFieldProperties
fieldProperties)
?

Regards,
Bora Inceler
Re: AutoGeneratedField CaffieneRush NO[at]SPAM gmail.com
5/29/2007 9:20:57 AM
[quoted text, click to view]

It's because AutoGeneratedField is a final class that inherits from
BoundField which inherits DataControlField and TemplateField inherits
DataControlField.

The CreateColumns method is used to create the automatically generated
column fields. Never used this method myself but see Dino Esposito's
article for an example on using CreateColumns() -
http://msdn.microsoft.com/msdnmag/issues/06/05/cuttingedge/default.aspx

The CreateAutoGeneratedColumn method creates one instance of a
AutoGeneratedField.
Say you wanted to autogenerate the fields for a gridview but only
enable sorting on 1 known field called "Supplier" then you'll probably
do something like:

Imports System.Web.UI.WebControls

Namespace SampleControls
Public Class CustomGridView
Inherits GridView

Protected Overrides Function CreateAutoGeneratedColumn(ByVal
fieldProperties As
System.Web.UI.WebControls.AutoGeneratedFieldProperties) As
System.Web.UI.WebControls.AutoGeneratedField

Dim field As AutoGeneratedField =
MyBase.CreateAutoGeneratedColumn(fieldProperties)

'Turn off sorting on non-Supplier columns and leave
sorting only on the Supplier column
If field.HeaderText <> "Supplier" Then
field.SortExpression = ""
End If

Return field
End Function

End Class
End Namespace

Andy

[quoted text, click to view]

Re: AutoGeneratedField Bora
6/12/2007 12:00:00 AM
Thanks for the response.

All the things you told are fair and self-definitive.

Why I can't autogenerate custom fields? AutoGeneratedField is sub-class for
BoundField but I can't use other BoundField inherited class. Forcing to
return AutoGeneratedField is against OO for autogeneration. That should be
fixed. I can't autogenerate a CheckBoxField or TemplateField. (I not have my
own autogeneration using CreateColumns, so not bothering with this now) But
the AutoGeneratedField class should be dropped and DataControlField should
be used for CreateAutoGeneratedColumn method.

Am I wrong?

Bora

[quoted text, click to view]
AddThis Social Bookmark Button