【发布时间】:2018-11-30 03:47:39
【问题描述】:
我有 Telerik RadGrid,它包含大约 20 列。一开始,我可以看到第 1 列到第 8 列。然后我水平滚动以查看其他列。假设我现在应该看到第 9 到第 17 列,但我看到第 10 到第 18 列。第 9 列被跳过,没有显示。遗漏了一栏。如何调整 Telerik 的滚动属性以避免这种情况?
【问题讨论】:
标签: asp.net user-interface telerik
我有 Telerik RadGrid,它包含大约 20 列。一开始,我可以看到第 1 列到第 8 列。然后我水平滚动以查看其他列。假设我现在应该看到第 9 到第 17 列,但我看到第 10 到第 18 列。第 9 列被跳过,没有显示。遗漏了一栏。如何调整 Telerik 的滚动属性以避免这种情况?
【问题讨论】:
标签: asp.net user-interface telerik
取决于为 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
最终,如果你能分享标记,我就能给你一个更准确的答案。
【讨论】: