GridView表示の高速化
開発環境:VB.NET&ASP
いつもお世話になっています。
現在、上記環境でWebアプリの開発を行っていますが
GridView表示に時間がかかり過ぎているため表示を高速化する手段を探しています。
現状、GridViewを表示する際には以下の時間がかかっています。
・270件→約8秒から9秒
・540件→約35秒から36秒
検索しましたが回避策を得ることが出来ませんでしたので有用な手段など
ご存知の方がいらっしゃいましたらご教授いただきたく思います。
よろしくお願い致します。
GridViewは以下の定義となっています。
------------------------------------------------------------
<asp:ButtonField ButtonType="Button" CommandName="InsertCommand" HeaderText="A"
ShowHeader="True" Text="A" />
<asp:ButtonField ButtonType="Button" CommandName="EditCommand" HeaderText="B"
ShowHeader="True" Text="B" />
<asp:ButtonField ButtonType="Button" CommandName="MoveCommand" HeaderText="C"
ShowHeader="True" Text="C" />
<asp:ButtonField ButtonType="Button" CommandName="PasteCommand" HeaderText="D"
ShowHeader="True" Text="D" />
<asp:BoundField DataField="seq" HeaderText="E" SortExpression="E" />
<asp:BoundField DataField="F" HeaderText="F"
SortExpression="F" />
<asp:BoundField DataField="G" HeaderText="G"
SortExpression="G" />
<asp:BoundField DataField="H" HeaderText="H"
SortExpression="H" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="I" HeaderText="I"
SortExpression="I" />
<asp:BoundField DataField="J" HeaderText="J"
SortExpression="J" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="K" HeaderText="K" SortExpression="K"
ItemStyle-HorizontalAlign="Left" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="L" HeaderText="L"
SortExpression="L" ItemStyle-HorizontalAlign="Left" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="M" HeaderText="M"
SortExpression="M" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="N" HeaderText="N"
SortExpression="N" ItemStyle-HorizontalAlign="Left" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="O" HeaderText="O"
SortExpression="O" ItemStyle-HorizontalAlign="Left" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField HeaderText="P" SortExpression="P">
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"
Checked='<%# Bind("P") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("P") %>'
Enabled="true" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
------------------------------------------------------------
VB.NETソース
------------------------------------------------------------
Dim cnStr As String = System.Configuration.ConfigurationManager.ConnectionStrings("connect").ConnectionString
strSql = "SELECT E, F, G, H, I, J, K, L, M, N, O, P FROM TABLE_NAME WHERE X = '" & Ddl.SelectedValue & "' ORDER BY E"
Dim connection As New SqlClient.SqlConnection(cnStr)
Dim adapter As New SqlClient.SqlDataAdapter(strSql, connection)
adapter.Fill(ds)
GridView1.DataSource = ds
GridView1.DataBind()
------------------------------------------------------------
お礼
ありがとうございます。 ものすごくわかり易い答えでした。 バイナリデータを表示することは出来てましたし、それをURLとして指定してあげるという考えは浮かんできませんでした。 早速試して見たいと思います。 ASPページへリクエストというのがちょっと分かりませんががんばります! ありがとうございます。