Team Telerik,
I've created a grid programatically and populate it with data. The first two columns are frozen, and I'm able to scroll left and right with the horizontal scroll bar. Everything looks wonderful. However, when I click on any column header to sort the data (Frozen, or Data columns); the horizontal scroll bar disappears and the columns off screen become inaccessible. Let me know if I've done anything wrong, below you will find my code. When I remove FrozenColumnsCount from the code, everything works fine. However... I do need the first two columns to be frozen.
Thanks,
Michael
I've created a grid programatically and populate it with data. The first two columns are frozen, and I'm able to scroll left and right with the horizontal scroll bar. Everything looks wonderful. However, when I click on any column header to sort the data (Frozen, or Data columns); the horizontal scroll bar disappears and the columns off screen become inaccessible. Let me know if I've done anything wrong, below you will find my code. When I remove FrozenColumnsCount from the code, everything works fine. However... I do need the first two columns to be frozen.
Thanks,
Michael
protected
void
Page_Init(
object
source, System.EventArgs e)
{
DefineGridStructure();
}
private
void
DefineGridStructure()
{
var someTable = GetSomeTable();
RadGrid radGrid1 =
new
RadGrid();
radGrid1.ItemCommand +=
new
GridCommandEventHandler(radGrid1_ItemCommand);
radGrid1.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
radGrid1.AutoGenerateColumns =
false
;
radGrid1.ShowStatusBar =
true
;
radGrid1.MasterTableView.DataKeyNames =
new
string
[] {
"Id"
};
radGrid1.DataSourceID =
"ObjectDataSource1"
;
radGrid1.AllowSorting =
true
;
radGrid1.AllowPaging =
true
;
radGrid1.PageSize = 50;
radGrid1.Width =
new
Unit(99, UnitType.Percentage);
radGrid1.MasterTableView.TableLayout = GridTableLayout.Fixed;
radGrid1.ClientSettings.Scrolling.AllowScroll =
true
;
radGrid1.ClientSettings.Scrolling.UseStaticHeaders =
true
;
radGrid1.ClientSettings.Scrolling.FrozenColumnsCount = 2;
radGrid1.ClientSettings.Scrolling.SaveScrollPosition =
true
;
GridBoundColumn displayFrozenColumn =
new
GridBoundColumn();
displayFrozenColumn .DataField =
"Name"
;
displayFrozenColumn .HeaderText =
"Name"
;
displayFrozenColumn .HeaderStyle.Width =
new
Unit(200, UnitType.Pixel);
displayFrozenColumn .ItemStyle.Font.Bold =
true
;
radGrid1.MasterTableView.Columns.Add(displayFrozenColumn );
displayFrozenColumn =
new
GridBoundColumn();
displayFrozenColumn .DataField =
"Id"
;
displayFrozenColumn .HeaderText =
"Id"
;
displayFrozenColumn .HeaderStyle.Width =
new
Unit(50, UnitType.Pixel);
displayFrozenColumn .ItemStyle.Font.Bold =
true
;
radGrid1.MasterTableView.Columns.Add(displayFrozenColumn );
foreach
(DataColumn dataColumn
in
someTable.Columns)
{
if
(dataColumn.ColumnName ==
"Name"
|| dataColumn.ColumnName ==
"Id"
)
continue
;
GridButtonColumnWithFilteringSorting displayDataColumn =
new
GridButtonColumnWithFilteringSorting();
displayDataColumn .HeaderText = dataColumn.ColumnName;
displayDataColumn .DataTextField = dataColumn.ColumnName;
displayDataColumn .SortExpression = dataColumn.ColumnName;
displayDataColumn .UniqueName = dataColumn.ColumnName;
displayDataColumn .HeaderStyle.Width =
new
Unit(75, UnitType.Pixel);
radGrid1.MasterTableView.Columns.Add(displayDataColumn );
}
PlaceHolder placeHolder1 = (PlaceHolder)RadPanelBar1.FindItemByValue(
"PanelItem1"
).FindControl(
"PlaceHolder1"
);
placeHolder1.Controls.Add( radGrid1 );
}