Telerik RadGrid水平滚动将通过一列

时间:2018-11-30 03:47:40

标签: asp.net user-interface telerik

我有Telerik RadGrid,其中包含约20列。开始时,我可以看到第1列到第8列。然后水平滚动以查看其他列。假设我现在应该看到第9到17列,但我看到的是10到18列。第9列已通过,没有显示。缺少一列。如何调整Telerik的滚动属性以避免这种情况?

1 个答案:

答案 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

最终,如果您可以共享标记,我将为您提供更准确的答案。