ストアド プロシージャによって指定されたデータを取得するグリッド ビューがあります。
ストアド プロシージャは GetEverything と呼ばれます。このステートメントは、人物の詳細を含むテーブルと船舶の詳細を含むテーブルの 2 つのテーブルからの情報で構成されています。ストアド プロシージャの select ステートメントには、次の Where 句が含まれています。
WHERE Vessel.ArchiveStatus = 0
デフォルトでは、フロント エンド アプリケーションを使用して作成されたすべての新しいレコードには、db の ArchiveStatus に「0」が与えられます。
したがって、グリッドビューには、ArchiveStatus が 0 のレコードのみが表示されます。これは、デフォルトではすべてです。
2 つのボックス、[すべてをチェック] と [すべてをチェック解除] は完全に機能しています。
ここで必要なのは、1 つまたは複数の REF を選択し、[Archive Records] ボタンをクリックして、データベースの 0 をその VesselREF の 1 に更新することです。
誰でもこれを行う方法をアドバイスし、Default.aspx.vb ファイル/アーカイブ レコード ボタンのイベント ハンドラーに配置するサンプル コードを教えてください。
これにより、グリッド ビューにはアーカイブされていないレコードのみが表示され、独自の SQL を使用して別のグリッド ビューを作成し、アーカイブされたレコードを表示することができます。
GridView.aspx
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="REF,VesselREF" DataSourceID="SqlDataSource1" Height="132px"
style="text-align: center; font-family: Calibri; font-size: medium"
Width="508px" BackColor="#C4FFC4">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="REF" InsertVisible="False" SortExpression="REF">
<ItemTemplate>
<a href="Details.aspx?REF=<%# Eval("REF")%>"><%# Eval("REF")%></a>
<asp:CheckBox ID="RecordSelector" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="Surname" HeaderText="Surname"
SortExpression="Surname" />
<asp:BoundField DataField="VesselName" HeaderText="VesselName"
SortExpression="VesselName" />
<asp:BoundField DataField="VesselREF" HeaderText="VesselREF"
InsertVisible="False" ReadOnly="True" SortExpression="VesselREF" />
</Columns>
</asp:GridView>