我有Telerik RadGrid,其中包含约20列。开始时,我可以看到第1列到第8列。然后水平滚动以查看其他列。假设我现在应该看到第9到17列,但我看到的是10到18列。第9列已通过,没有显示。缺少一列。如何调整Telerik的滚动属性以避免这种情况?
答案 0 :(得分:0)
取决于为RadGrid设置的属性。滚动时,需要考虑几件事。
例如,如果同时启用了滚动和静态标题,则这些列必须使用HeaderStyle Width定义静态宽度。参见Scroll with Static Headers。
下面您可以找到一个有效的示例。
RadGrid标记:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" Width="600px"
OnNeedDataSource="RadGrid1_NeedDataSource">
<ClientSettings>
<Scrolling AllowScroll="true" UseStaticHeaders="true" ScrollHeight="" />
</ClientSettings>
<MasterTableView>
<HeaderStyle Width="150px" />
</MasterTableView>
</telerik:RadGrid>
后面的C#代码。将伪数据绑定到RadGrid
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = GetGridSource();
}
private DataTable GetGridSource()
{
DataTable dt = new DataTable();
for (int colIndex = 0; colIndex < 20; colIndex++)
{
dt.Columns.Add(string.Format("Column{0}", colIndex + 1), typeof(string));
}
for (int rowIndex = 0; rowIndex < 5; rowIndex++)
{
DataRow row = dt.NewRow();
for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++)
{
row[colIndex] = string.Format("Col {0}, Row {1}", colIndex + 1, rowIndex + 1);
}
dt.Rows.Add(row);
}
return dt;
}
上面的代码的演示视频:RadGrid hortizontal scoll with mutiple columns
最终,如果您可以共享标记,我将为您提供更准确的答案。