![](/user_photo/1438_p9ksI.png)
Microsoft ASP .NET Professional Projects - Premier Press
.pdf</EditItemTemplate>
</asp:TemplateColumn> <asp:TemplateColumn HeaderText="Date" > <ItemTemplate>
<asp:Label Text='<%# Container.DataItem("date") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="edit_date" BorderStyle="None" Readonly="True" Text='<%# Container.DataItem("date") %>'
runat="server" /> </EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Inventory Account" > <ItemTemplate>
<asp:Label Text='<%# Container.DataItem("code_display") %>' runat="server"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="edit_code_value"
Text='<%# Container.DataItem("code_value") %>'
runat="server" ReadOnly="true" BorderStyle="None" />
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Narration" > <ItemTemplate>
<asp:Label Text='<%# Container.DataItem("narr") %>' runat="server"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="edit_narr"
Text='<%# Container.DataItem("narr") %>'
runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Quantity In" > <ItemTemplate>
<asp:Label Text='<%# Container.DataItem("qty_in") %>' runat="server"/>
</ItemTemplate>
<EditItemTemplate> <asp:TextBox id="edit_qty_in"
Text='<%# Container.DataItem("qty_in") %>' runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Quantity Out" > <ItemTemplate>
<asp:Label Text='<%# Container.DataItem("qty_out") %>' runat="server"/>
</ItemTemplate>
<EditItemTemplate> <asp:TextBox id="edit_qty_out"
Text='<%# Container.DataItem("qty_out") %>' runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<HeaderStyle BackColor="DarkRed"
ForeColor="White" Font-Bold="true"/>
<ItemStyle ForeColor="DarkSlateBlue"/>
<AlternatingItemStyle BackColor="Beige"/>
</asp:DataGrid>
</td>
<td valign="top">
<!--- insert row logic------------>
<asp:Panel id="AddPanel" runat="server" Visible="false"> <table style="font: 8pt verdana">
<tr>
<td colspan="2" bgcolor="#aaaadd" style="font:10pt verdana"> Add a New Transaction:</td>
</tr>
<tr>
<td nowrap>Date (Required): </td>
<td><asp:TextBox id="adate" runat="server" value = "" /></td> <td> <asp:RequiredFieldValidator runat=server
controltovalidate=adate errormessage="Date is required.">* </asp:RequiredFieldValidator></td>
</tr>
<tr>
<td nowrap>Reference (Required/ must be unique): </td> <td><asp:TextBox id="aref" value = "" runat="server" /></td> <td> <asp:RequiredFieldValidator runat=server
controltovalidate=aref
errormessage="A unique reference # is required.">* </asp:RequiredFieldValidator></td>
</tr>
<tr>
<td nowrap>Account Posted To: </td>
<td><asp:DropDownList DataTextField = "code_display" DataValueField = "code_value" id="acode_value" runat="server" /></td>
</tr>
<tr>
<td nowrap>Narration: </td>
<td><asp:TextBox id="anarr" value = "" runat="server" /></td> </tr>
<tr>
<td nowrap>Quantity In: </td>
<td><asp:TextBox id="aqty_in" value = 0 runat="server" /></td> </tr>
<tr>
<td nowrap>Quantity Out: </td>
<td><asp:TextBox id="aqty_out" value = 0 runat="server" /></td> </tr>
<tr>
<td style="padding-top:15">
<asp:Button id="SubmitDetailsBtn" text="Submit" onclick="add_Click" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
<!--------Insert Logic ends -----> </td>
</tr>
</table>
<hr>
<asp:Label id="Message" runat="server"/>
![](/html/1438/356/html_wpziZPj8IA.ZbBg/htmlconvd-0Ag2qI385x1.jpg)
</form>
</body>
</html>
Here is the listing of the Code Behind file StockTrans.vb.
StockTrans.vb
Option Strict Off
Imports System
Imports System.Collections
Imports System.Text
Imports System.Data
Imports System.Data.OleDb
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class BaseClass
Inherits System.Web.UI.Page
Protected Grid1 as DataGrid
Protected Message as label, title as label
Protected acode_value as dropdownlist, selection as dropdownlist Protected AddPanel as Panel
Protected adate as TextBox, aref as TextBox, aqty_in as TextBox Protected aqty_out as TextBox , anarr as TextBox
Protected addshow as button
Dim ds As New DataSet
Dim ConnStr As String
Dim SQL As String
Sub Page_Load(Source As Object, E As EventArgs) ConnStr = "Provider=SQLOLEDB; Data Source=(local); " ConnStr = ConnStr+" Initial Catalog=ASPNET;User ID=sa;" if NOT (isPostBack)
rebind End if
End Sub
Sub ReBind()
Dim t As New NameSpaceHersh.SQLService
Dim ds As DataSet
'DataSetCommand
SQL = "select * from tr_header h, stock_detail s, stock_master m" SQL = SQL + " where h.doc_no = s.doc_no"
SQL = SQL + " AND s.code_value = m.code_value" ds = t.Populate(ConnStr, SQL) Grid1.DataSource=ds.Tables("vTable").DefaultView Grid1.DataBind()
'populate inventory account(add mode) selection drop down list SQL = "Select * from stock_master"
ds = t.Populate(ConnStr, SQL) acode_value.DataSource=ds.Tables("vTable").DefaultView acode_value.DataBind()
addshow.visible = true End Sub
Sub Grid1_Edit(Sender As Object, E As DataGridCommandEventArgs)
Grid1.EditItemIndex = E.Item.ItemIndex
ReBind()
End Sub
Sub Grid1_Cancel(Sender As Object, E As DataGridCommandEventArgs)
Grid1.EditItemIndex = -1
ReBind()
End Sub
Sub RunSql(vsql as string)
Dim t As New NameSpaceHersh.SQLService
Dim s As string
s = t.RunSQL(ConnStr,vSQL) Grid1.EditItemIndex = -1 Rebind
if s <> "Success" then Message.Text = s Message.Style("color") = "red"
End if
End Sub
Sub hidePanel()
if AddPanel.visible = true then AddPanel.visible = false 'reset values
adate.text = "" aref.text = "" aqty_in.text = "" aqty_out.text = "" anarr.text = ""
End if
End Sub
Chapter 26: The Inventory Balances Report
Overview
The inventory balances report displays the closing balance of all inventory items. This is the main report of an inventory management system and forms the basis for getting a valuation of the stock.
Figure 26.1 shows what it looks like.
![](/html/1438/356/html_wpziZPj8IA.ZbBg/htmlconvd-0Ag2qI388x1.jpg)
Figure 26.1: The inventory balances report.
The ReBind function calls the populate function of the SQLService web service by passing it a SQL Query and connection string. A DataSet containing all the rows from the stock_master table is returned.
The ReBind Function
Sub ReBind()
Dim t As New NameSpaceHersh.SQLService
Dim ds as DataSet
'DataSetCommand
sql = "SELECT * from stock_master "
ds = t.Populate(ConnStr, SQL)
Grid1.DataSource=ds.Tables("vTable").DefaultView
Grid1.DataBind()
End Sub
The DataGrid columns property is set to display the required columns. Various templates are applied to refine the look of the DataGrid. StockBalances.aspx is the complete listing of this report.
StockBalances.aspx
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Register TagPrefix="Hersh" TagName="nav" Src="nav.ascx" %>
<html>
<script language="VB" runat="server"> Dim ConnStr As String
Dim SQL As String
Sub Page_Load(Source As Object, E As EventArgs) ConnStr = "Provider=SQLOLEDB; Data Source=(local); " ConnStr = ConnStr+" Initial Catalog=ASPNET;User ID=sa;" if NOT (isPostBack)
rebind end if
End Sub
Sub ReBind()
Dim t As New NameSpaceHersh.SQLService
Dim ds As DataSet
'DataSetCommand
sql = "SELECT * from stock_master " ds = t.Populate(ConnStr, SQL)
Grid1.DataSource=ds.Tables("vTable").DefaultView
Grid1.DataBind()
End Sub </script> <head>
<style>
a { color:black; text-decoration:none;}
a:hover { color:red; text-decoration:underline;}
</style>
</head>
<body style="font: 10pt verdana; background-color:ivory">
<!—— Navigation Start———————>
<Hersh:nav id="menu" runat = server vGridlines = Both
vBorderColor = "Black" vCellPadding = 7 />
<!—— Navigation Ends———————>
<h3><font face="Verdana">Inventory Balances </font></h3> <br>
<asp:DataGrid id="Grid1" runat="server" AutoGenerateColumns="false" BackColor="White"
BorderWidth="1px" BorderStyle="Solid" BorderColor="Tan"
CellPadding="2" CellSpacing="0"
Font-Name="Verdana" Font-Size="8pt">
<Columns>
<asp:BoundColumn HeaderText="Account" DataField="code_display" > <HeaderStyle Width="150px"/>
</asp:BoundColumn>
<asp:BoundColumn HeaderText="Units" DataField="uom"> <HeaderStyle Width="150px"/>
</asp:BoundColumn>
<asp:BoundColumn HeaderText="Opening Balance" DataField="opening"> <HeaderStyle Width="150px"/>
</asp:BoundColumn>
<asp:BoundColumn HeaderText="Period Closing Balance" DataField="closing"> <HeaderStyle Width="150px"/>
</asp:BoundColumn>
</Columns>