如何处理FineUI Grid控件数据错位?

时间:2018-01-12 07:29:39

标签: asp.net grid

最近我下载了FineUI Control来构建网站。它易于使用和构建网站。现在我遇到问题当我使用FIneUI网格控件时。当我在Grid1_RowDataBound()绑定数据时发生数据错位。结果是第一行没有数据,第一行的数据跳转到第二行。 Grid1_RowDataBound()代码:

protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
    {
        FineUI.CheckBoxField field1 = (FineUI.CheckBoxField)Grid1.FindColumn("CheckBoxField1");
        FineUI.LinkButtonField link1 = (FineUI.LinkButtonField)Grid1.FindColumn("linkTY");
        FineUI.LinkButtonField link2 = (FineUI.LinkButtonField)Grid1.FindColumn("linkBTY");

        object o = Grid1.Rows[e.RowIndex].DataKeys[1].ToString();
        object d = Grid1.Rows[e.RowIndex].DataKeys[3].ToString();
        bool flag1 = getGYSApply(o);
        link1.Text = d.ToString();
        Alert.Show(o + "-" + d);
    }

1 个答案:

答案 0 :(得分:1)

这不是Bug。当您使用RowDataBound()时,每行的数据都已绑定,此时如果更改列的属性,它将完全没有用处。解决此问题的方法是将事件从RowDataBound()更改为PreRowDataBound()。