Page_Init Page_Load cmdINew_Click cmdISave_Click cmdIDelete_Click cmdISubmit_Click cmdIClear_Click gridLineItem_RowEditing gridLineItem_RowDeleting UpdateGridLineItem ShowInvoice FillProduct txtPassLookupValues_TextChanged InitializeSystemVariables Event of Main menu Event of Edit product menu Event of Grid line button Function to process data Function to Initial database connection (Utilities.vb) Function receive data return from frmListOfValue
Query Product from database and fill into textbox
Query Invoice to fill into textbox and Query InvoiceLineItem to set in variable Collection (row_coll)
Read variable Collection (row_coll) and set to variable DataTable, Datarow before set to GridView (GridLineItem). It has 3 case row_coll is nothing (new page) row_coll.count <= 0 (data in collection is empty) row_coll.count > 0 (have data in collection Note: fist 2 case will set blank data into Datatable
In Page_Load, Button add event onclick to call function OpenListofValue in javascript and pass name of table in parameter. Function OpenListofValue (javascript) popup form frmListofValue.aspx. Function MyInitializeListOfValue in frmListofValue.aspx.vb check case and set query string, data field, and header. After select data in List of Value, Function GetFromListOfValue (javascript) will pass selected value to caller (Default.aspx). Function GetFromListOfValue (javascript in Default.aspx) pass value to textbox txtPassLookupValues. Finally, Function txtPassLookupValues_TextChanged will process data.