0

いくつかの telerik:GridTemplateColumns を持つ RadGrid があります。データソースを取得し、グリッドをバインドします。最初のページ グリッドの動作は一貫しています。ただし、ページ変更後、グリッド内の他の列は新しい値を取得しますが、itemtemplate 列は最初のページの値を保持します。

グリッド設計コード:

<telerik:RadGrid ID="rgvTest" runat="server" AllowFilteringByColumn="false"
                                            AllowPaging="True" AllowSorting="True" MasterTableView-ShowHeadersWhenNoRecords="false"
                                            AllowCustomPaging="false" AutoGenerateDeleteColumn="false" AllowMultiRowSelection="true"
                                            AutoGenerateEditColumn="false" GridLines="None" ShowGroupPanel="True" OnItemDataBound="rgvTest_ItemDataBound"
                                            OnPageIndexChanged="rgvTest_PageIndexChanged" OnSortCommand="rgvTest_SortCommand"
                                            ClientSettings-ClientEvents-OnRowDblClick="GridRowDoubleclick" >

<Columns>
                                                    <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" ItemStyle-Width="20px" HeaderStyle-Width="20px"/>
                                                    <telerik:GridTemplateColumn HeaderImageUrl="../Images/priority_icon.png" UniqueName="Priority1"
                                                        HeaderTooltip="Priority">
                                                        <ItemStyle Width="20px" Wrap="false" />
                                                        <HeaderStyle Width="20px" Wrap="false" />
                                                        <ItemTemplate>
                                                            <asp:Image ID="PriorityImage" runat="server" />
                                                        </ItemTemplate>
                                                    </telerik:GridTemplateColumn>
</Columns>

ページサイズが10に設定されていることを考慮してください。デバッグ後、ロード時に最初の10レコードに対してOnItemdataBoundイベントが呼び出されることがわかりました。そして、ページ変更後、20回呼び出されますが、最初のページと2ページ目の20レコードに対して挿入され、最初の10レコードに対して2回呼び出されます...奇妙ですが本当です。誰かがこれについて何か考えを持っているなら、私を助けてください。

4

1 に答える 1

0

私は解決策を得ました。実際には、アイテムをバインドするときに、Item.dataIndex の代わりに Item.ItemIndex プロパティを使用していました。ItemIndex 値は 0 ~ 10 で変化し、DataIndex は 0 ~ DataIndex の長さで変化します...

于 2012-06-26T08:58:49.580 に答える