<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="frmMatMgmtAParam.aspx.vb" Inherits="master.frmMatMgmtAParam" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajk" %>
<%@ Previouspagetype VirtualPath="~/frmSRegister.aspx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="~/css/style.css" rel="stylesheet" runat="server" type="text/css" />
<title></title>
<h3>Select Additional Parameter(s)</h3>
</head>
<body>
<form id="frmMatMgmtAParam" runat="server">
<asp:ScriptManager ID="SC1" runat="server" ValidateRequestMode="Disabled"></asp:ScriptManager>
<asp:Panel ID="pnladdlp" runat="server" BorderWidth="0px" BorderStyle="Inset"
style="margin:5px;" BackColor="AliceBlue" Font-Size="Smaller"
Font-Names="Verdana">
<div style="height:600px; width:900px;">
<asp:GridView ID="vflex" runat="server"
OnRowDataBound ="vflex_RowDataBound"
OnRowCreated = "vflex_RowCreated"
AutoGenerateColumns="false"
ShowFooter="true" style="float:left;">
</asp:GridView>
</div>
</asp:Panel>
</form>
</body>
</html>
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports AjaxControlToolkit
Public Class frmMatMgmtAParam
Inherits System.Web.UI.Page
Dim SelectCol As Int16, chkCol As Int16, chkBox As CheckBox
Dim DataTb As New DataTable()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
CreateFlexStr()
End If
End Sub
Protected Sub CreateFlexStr()
On Error GoTo ErrHandler
Dim i As Int16, VData As DataTable, fStr As String
fStr = ""
If AddlpIName Is Nothing Then Exit Sub
SelectCol = 0
VData = MiscDataNP02(58, AddlpIName) 'Getting data from Database
If VData.Rows.Count > 0 Then
For i = 0 To VData.Rows.Count - 1
Dim BndField As New BoundField()
BndField.HeaderText = CStr("" & VData(i).ItemArray(0).ToString)
BndField.DataField = CStr("" & VData(i).ItemArray(0).ToString)
vflex.Columns.Add(BndField)
vflex.Columns(SelectCol).ItemStyle.Wrap = False
DataTb.Columns.Add(CStr("" & VData(i).ItemArray(0).ToString))
SelectCol = SelectCol + 1
Next
End If
VData.Dispose()
If vflex.Columns.Count > 0 Then
Dim nBndField As New BoundField()
nBndField.HeaderText = "Stock Qty."
nBndField.DataField = "StkQty"
vflex.Columns.Add(nBndField)
GridHeader(SelectCol) = "Stk Qty."
DataTb.Columns.Add("StkQty")
SelectCol = SelectCol + 1
nBndField = New BoundField()
nBndField.HeaderText = "Alt. Quantity"
nBndField.DataField = "AltQty"
vflex.Columns.Add(nBndField)
GridHeader(SelectCol) = "Alt. Quantity"
DataTb.Columns.Add("AltQty")
SelectCol = SelectCol + 1
Dim tmpField As New TemplateField()
tmpField.HeaderText = "Select"
vflex.Columns.Add(tmpField)
vflex.Columns(SelectCol).ItemStyle.HorizontalAlign = HorizontalAlign.Center
vflex.Columns(SelectCol).ItemStyle.VerticalAlign = VerticalAlign.Middle
GridHeader(SelectCol) = "Select"
DataTb.Columns.Add("Select_chkb")
chkCol = SelectCol
SelectCol = SelectCol + 1
nBndField = New BoundField()
nBndField.HeaderText = "Stk. Qty."
nBndField.DataField = "SStkQty"
vflex.Columns.Add(nBndField)
GridHeader(SelectCol) = "Stk. Qty."
DataTb.Columns.Add("SStkQty")
SelectCol = SelectCol + 1
nBndField = New BoundField()
nBndField.HeaderText = "Alt. Qty."
nBndField.DataField = "SAltQty"
vflex.Columns.Add(nBndField)
GridHeader(SelectCol) = "Alt. Qty."
DataTb.Columns.Add("SAltQty")
End If
ViewState("AddlParam") = DataTb
Me.BindGrid()
FillData()
Exit Sub
ErrHandler:
MsgBox(Err.Description, vbSystem + vbCritical, "eCCOUNT")
End Sub
Protected Sub vflex_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles vflex.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
chkBox = New CheckBox
chkBox.AutoPostBack = True
AddHandler chkBox.CheckedChanged, AddressOf chkBoxHandler
e.Row.Cells(chkCol).Controls.Add(chkbox)
End If
End Sub
Protected Sub chkBoxHandler(ByVal sender As Object, ByVal e As EventArgs)
Me.ClientScript.RegisterClientScriptBlock(GetType(String), "alert", "alert('Checked')", True)
End Sub
Protected Sub vflex_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles vflex.RowCreated
End Sub
Protected Sub vflex_SelectedIndexChanged(sender As Object, e As EventArgs) Handles vflex.SelectedIndexChanged
End Sub
Protected Sub FillData()
On Error GoTo ErrHandler
Dim vData As DataTable, i As Integer, tSt As String
Dim fPos As Integer, MPCtr As Integer, lCol As Integer
Dim DR As DataRow
vData = ProductionBal(frmDName, AddlpIName, FYSDate, VchDate, IIf(frmDName <> "frmmatblock", 10, 7))
If vData.Rows.Count > 0 Then
For i = 0 To vData.Rows.Count - 1
If Format(Val(0 & vData.Rows(i).ItemArray(3).ToString), "#########0") > 0 Then
DR = DataTb.NewRow
fPos = 1 : MPCtr = 1 : lCol = 0
For fPos = 1 To LTStr(CStr("" & vData.Rows(i).ItemArray(1).ToString))
tSt = ""
MPCtr = InStr(fPos, CStr("" & vData.Rows(i).ItemArray(1).ToString), "#")
If MPCtr <> 0 Then
tSt = TUStr(Mid(CStr("" & vData.Rows(i).ItemArray(1).ToString), fPos, MPCtr - fPos))
DR(lCol) = tSt
lCol = lCol + 1
Else
Exit For
End If
fPos = MPCtr
Next
DR(SelectCol - 6) = Format(Val(0 & vData.Rows(i).ItemArray(3).ToString), "#########0.000") 'Stk. Qty.
If frmDName <> "job work issue" And frmDName <> "job work dispatch" Then
DR(SelectCol - 5) = Format(Val(0 & vData.Rows(i).ItemArray(4).ToString), "#########0.000") 'Stk. Qty.
Else
DR(SelectCol - 5) = Format(Val(0 & vData.Rows(i).ItemArray(3).ToString), "#########0.000") 'Stk. Qty.
End If
DR(SelectCol - 1) = CStr("" & vData.Rows(i).ItemArray(1).ToString) 'Addl Parameters
DR(SelectCol) = CStr("" & vData.Rows(i).ItemArray(2).ToString) 'Master Values
DataTb.Rows.Add(DR)
End If
Next
End If
vData.Dispose()
ViewState("AddlParam") = DataTb
Me.BindGrid()
Exit Sub
ErrHandler:
MsgBox(Err.Description, vbSaturday + vbCancel, "eCCOUNT")
End Sub
Protected Sub BindGrid()
vflex.DataSource = DirectCast(ViewState("AddlParam"), DataTable)
vflex.DataBind()
End Sub
End Class