Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Microsoft ASP .NET Professional Projects - Premier Press

.pdf
Скачиваний:
147
Добавлен:
24.05.2014
Размер:
4.63 Mб
Скачать

</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"/>

</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.

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>