【问题标题】:Telerik RadGrid horizontal scroll will pass one columnTelerik RadGrid 水平滚动将通过一列
【发布时间】:2018-11-30 03:47:39
【问题描述】:

我有 Telerik RadGrid,它包含大约 20 列。一开始,我可以看到第 1 列到第 8 列。然后我水平滚动以查看其他列。假设我现在应该看到第 9 到第 17 列,但我看到第 10 到第 18 列。第 9 列被跳过,没有显示。遗漏了一栏。如何调整 Telerik 的滚动属性以避免这种情况?

【问题讨论】:

    标签: asp.net user-interface telerik


    【解决方案1】:

    取决于为 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

    最终,如果你能分享标记,我就能给你一个更准确的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      相关资源
      最近更新 更多