Hello,
Having a bit of an odd issue where the styling is changing on a RadGrid after rebinding. To begin with its starting with the first row rendered above the bottom of the header row - which isn't ideal as well as showing a blank footer bar. Afterwards the top row is rendered correctly under the header row and the blank footer bar has disappeared.
Any idea what this could be?
Images attached and code below: -
<
div
style
=
"horiz-align: center"
>
<
span
style
=
"text-align: center; font-size: large; padding-bottom: 15px;"
>Please select the relevant campaign: -</
span
>
<
div
style
=
"padding-bottom: 5px;"
>Search Campaigns: <
asp:TextBox
ID
=
"CampaignFilter"
AutoPostBack
=
"true"
runat
=
"server"
/><
span
style
=
"padding-left: 5px;"
><
asp:button
runat
=
"server"
Text
=
"Search"
id
=
"SearchButton"
OnClick
=
"SearchButtonOnClick"
/></
span
></
div
>
<
telerik:RadGrid
ID
=
"CampaignGrid"
runat
=
"server"
OnNeedDataSource
=
"CampaignGridNeedDataSource"
AllowPaging
=
"False"
Skin
=
"WebBlue"
Height
=
"350px"
>
<
ClientSettings
EnableRowHoverStyle
=
"True"
Scrolling-UseStaticHeaders
=
"True"
Scrolling-AllowScroll
=
"True"
>
<
ClientEvents
OnRowClick
=
"CampaignRowClicked"
/>
</
ClientSettings
>
<
MasterTableView
AutoGenerateColumns
=
"False"
AllowSorting
=
"False"
AllowFilteringByColumn
=
"False"
TableLayout
=
"Fixed"
>
<
Columns
>
<
telerik:GridTemplateColumn
DataField
=
"Name"
SortExpression
=
"Name"
HeaderText
=
"Campaign Name"
UniqueName
=
"Name"
>
<
ItemTemplate
>
<
div
class
=
"TableCellNoOverflow"
id
=
"CampaignName"
><%# Eval("Name") %></
div
>
<
asp:HiddenField
runat
=
"server"
ID
=
"HdnCampaignId"
Value='<%# Eval("Id") %>'/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
protected
void
CampaignGridNeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
List<DataRow> campaigns = Campaigns.AsEnumerable().ToList();
campaigns = campaigns.Where(r => ((
string
) r[
"Name"
]).ToUpper().Contains(CampaignFilter.Text.ToUpper())).ToList();
if
(campaigns.Count > 0)
CampaignGrid.DataSource = campaigns.CopyToDataTable();
else
{
DataTable dt =
new
DataTable();
dt.Columns.Add(
"Name"
);
CampaignGrid.DataSource = dt;
}
}
protected
void
SearchButtonOnClick(
object
sender, EventArgs e)
{
CampaignGrid.Rebind();
}