AutoGenerateColumns="False" Causes Empty RadGrid on Databind
I have the following RadGrid that, if AutoGenerateColumns="True" then the grid will bind with the datasource and show the data, but if set to false will not bind and will show the NoRecordsTemplete value, even though the datatable has rows. What causes this, and how can I fix it?
Oh, and the date does not get formatted, it keeps the time part, which I'd like to get rid of.
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
Width
=
"450px"
AutoGenerateColumns
=
"false"
>
<
MasterTableView
DataKeyNames
=
"eDate"
AutoGenerateColumns
=
"false"
>
<
NoRecordsTemplate
>No records found.</
NoRecordsTemplate
>
<
DetailTables
>
<
telerik:GridTableView
runat
=
"server"
>
<
GroupByExpressions
>
<
telerik:GridGroupByExpression
>
<
GroupByFields
>
<
telerik:GridGroupByField
FieldName
=
"eDate"
FormatString
=
"0:MM/dd/yyyy"
/>
</
GroupByFields
>
</
telerik:GridGroupByExpression
>
</
GroupByExpressions
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Date"
DataField
=
"eDate"
HtmlEncode
=
"false"
DataType
=
"System.DateTime"
DataFormatString
=
"0:MM/dd/yyyy"
/>
<
telerik:GridBoundColumn
HeaderText
=
"File"
DataField
=
"file"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Hits"
DataField
=
"hits"
/>
</
Columns
>
</
telerik:GridTableView
>
</
DetailTables
>
</
MasterTableView
>
</
telerik:RadGrid
>
DataTable dt =
new
DataTable();
using
(SqlConnection sqlConn =
new
SqlConnection(ConfigurationManager.AppSettings[
"SQLSvr"
]))
sqlConn.Open();
string
query =
"SELECT [eDate], [File], [Hits]"
;
query +=
" FROM [MyTable]"
;
SqlCommand cmd =
new
SqlCommand(query, sqlConn);
SqlDataAdapter da =
new
SqlDataAdapter(cmd);
da.Fill(dt);
RadGrid1.DataSource = dt;
RadGrid1.DataBind();
sqlConn.Close();
I'm also facing the same problem, please let me know why it's happening.
Please reply asap.
Hi,
If you set the AutoGenerateColumns property to false and you do not have manually defined columns there will be no columns in RadGrid. Since there are no columns there will be no records because records are cells of given columns. Since there are no rows in the Grid the NoRecordsToDisplay message will be shown.
How do you expect the Grid to be shown when there are no columns?
Regards,
Andrey
Telerik