Thursday, April 26, 2012

Timeout Setting using Jquery


 <script language="javascript" type="text/javascript">
            function showWaitPack() {
                $get('<%=UpdateProgressPack.ClientID%>').style.display = 'block';
                setTimeout("disablePack();", 1000);
            }
            function disablePack() {
                var controls = document.getElementById("<%=pnlUnitLoadDataSheet.ClientID%>").getElementsByTagName("input");
                for (var i = 0; i < controls.length; i++)
                    controls[i].disabled = true;
                setTimeout("HideLabelPack();", 6000);
            }
            function HideLabelPack() {
                document.getElementById('<%= UpdateProgressPack.ClientID %>').style.display = "none";
                var controls = document.getElementById("<%=pnlUnitLoadDataSheet.ClientID%>").getElementsByTagName("input");
                for (var i = 0; i < controls.length; i++)
                    controls[i].disabled = false;
                if (document.getElementById('<%=rdbDirect.ClientID %>').checked == true) {
                    document.getElementById('<%=rdbCrossDock.ClientID %>').disabled = true;
                    document.getElementById('<%=rdbCrossDock.ClientID %>').checked = false;
                    document.getElementById('<%=rdbRepack.ClientID %>').disabled = true;
                    document.getElementById('<%=rdbRepack.ClientID %>').checked = false;
                }
            }
</script>

Dropdown binding using Jquery in VB.NET

In ASPX page:


<script type="text/javascript">
            var pageUrl = '<%=ResolveUrl("~/BOLSup.aspx")%>'
            function PopulateRecLoc() {
                $("#<%=comboFacility.ClientID%>").attr("disabled", "disabled");

                if ($('#<%=comboRecievingLocation.ClientID%>').val() == "0") {
                    $('#<%=comboFacility.ClientID %>').empty().append('<option selected="selected" value="0">Select</option>');

                }
                else {
                    $('#<%=comboFacility.ClientID %>').empty().append('<option selected="selected" value="0">Loading...</option>');
                    var reclocid = $('#<%=comboRecievingLocation.ClientID%>').val()
                    $("#<%= hdnreclocid.ClientID %>").val(reclocid);
                    var hval = document.getElementById('<%=hdnreclocid.ClientID %>').value;

                    $.ajax({
                        type: "POST",
                        url: pageUrl + '/PopulateFacility',
                        data: '{RecLocId: ' + $('#<%=comboRecievingLocation.ClientID%>').val() + '}',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function OnCountriesPopulated(response) {

                            PopulateControl(response.d, $("#<%=comboFacility.ClientID %>"));
                        },
                        failure: function (response) {
                            alert(response.d);
                        }
                    });
                }
           

            function PopulateControl(list, control) {
                if (list.length > 0) {
                    control.removeAttr("disabled");
                    control.empty().append('<option selected="selected" value="0">Select</option>');
                    $.each(list, function () {
                        control.append($("<option></option>").val(this['Value']).html(this['Text']));
                    });
                }
                else {
                    control.empty().append('<option selected="selected" value="0">Not available<option>');
                }
            }
        </script>




    <asp:DropDownList runat="server" ID="comboRecievingLocation" Width="205Px" onchange="PopulateRecLoc()"
                                                                    CausesValidation="false">
                                                                </asp:DropDownList>






Imports System
Imports System.Collections.Generic
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Configuration
Imports System.Data.SqlClient
Imports System.Data
Imports System.Collections
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Collections.Specialized
Imports AjaxControlToolkit
Imports System.Web.SessionState

Public Class BOLSup
    Inherits System.Web.UI.Page
    Implements IRequiresSessionState
 
 
    <System.Web.Services.WebMethod()> _
    Public Shared Function PopulateFacility(ByVal RecLocId As Integer) As ArrayList
        Dim list As ArrayList = New ArrayList
        Dim strConnString As String = ConfigurationManager.ConnectionStrings("SurgereConnection").ConnectionString
        Dim strQuery As String = "select facility_id,facility_name from Facility where facility_type<>'Consolidation Center' and location_id=@location_id"
        Dim con As SqlConnection = New SqlConnection(strConnString)
        Dim cmd As SqlCommand = New SqlCommand
        cmd.CommandType = CommandType.Text
        cmd.Parameters.AddWithValue("@location_id", RecLocId)
        cmd.CommandText = strQuery
        cmd.Connection = con
        con.Open()
        Dim sdr As SqlDataReader = cmd.ExecuteReader
        While sdr.Read
            list.Add(New ListItem(sdr("facility_name").ToString, sdr("facility_id").ToString))
        End While
        con.Close()
        Return list
    End Function
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

 


Saturday, March 31, 2012

Jquey Autofill with return value


  Sys.Application.add_load(function () {

        $("#<%= txtto.ClientID %>").autocomplete('bolfill.ashx').result(function (event, data, formatted) {
            if (data) {
                var type = document.getElementById('<%=ddBOLtotype.ClientID %>').value;
                if (type == "1") {
                    var suploc = data[1].split("-");
                    var sup = suploc[0];
                    var loc = suploc[1];
                    $("#<%= hdnSupplier.ClientID %>").val(sup);
                    var hid = document.getElementById('<%=hdnSupplier.ClientID %>').value;

                    $("#<%= hdnLocation.ClientID %>").val(loc);
                    var hid = document.getElementById('<%=hdnLocation.ClientID %>').value;

                }
                else if (type == "2") {
                    $("#<%= hdncontainerid.ClientID %>").val(data[1]);
                    var hid = document.getElementById('<%=hdncontainerid.ClientID %>').value;

                }
                $("#<%= hdnto.ClientID %>").val(data[0]);
                var hid = document.getElementById('<%=hdnto.ClientID %>').value;
             
            }
            else {
                $("#<%= hdncontainerid.ClientID %>").val('-1');

            }
        });


    });




Imports System.Web
Imports System.Web.Services
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Text
Imports System.Web.SessionState

Public Class bolfill
    Implements System.Web.IHttpHandler
    Implements IRequiresSessionState

    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        Dim clientid As String = Convert.ToString(HttpContext.Current.Session("clientid"))
        Dim name As String
        Dim id As String

        If clientid <> "" Then
            Dim type As String = Convert.ToString(HttpContext.Current.Session("boltype"))
            Dim prefixText As String = context.Request.QueryString("q")

            Dim conn As SqlConnection = New SqlConnection
            conn.ConnectionString = ConfigurationManager _
                    .ConnectionStrings("SurgereConnection").ConnectionString
            Dim stbuilder As New StringBuilder()

            If type = "1" Then

                stbuilder.Clear()
                stbuilder.Append("select s.Supplier_id,l.Supplier_location_id, s.Supplier_name,l.Location_name  ")
                stbuilder.Append("from Supplier s inner join Supplier_location l on s.Supplier_id=l.Supplier_id ")
                stbuilder.Append("where s.Client_id=" & Convert.ToInt64(Convert.ToString(HttpContext.Current.Session("clientid"))))
                stbuilder.Append(" and (s.Supplier_name +'-'+ upper(isnull(l.Location_name,'')) ) LIKE '" & prefixText & "%'")
                Dim cmd As SqlCommand = New SqlCommand
                cmd.CommandText = stbuilder.ToString()
                cmd.Connection = conn
                Dim sb As StringBuilder = New StringBuilder
                conn.Open()
                Dim sdr As SqlDataReader = cmd.ExecuteReader
                While sdr.Read
                    name = sdr("Supplier_name").ToString & "-" & sdr("Location_name").ToString
                    id = sdr("Supplier_id").ToString & "-" & sdr("Supplier_location_id").ToString
                    sb.Append(String.Format("{0}|{1}|{2}", name, id, Environment.NewLine))
                    ' sb.Append(sdr("Supplier_name").ToString & "-" & sdr("Location_name").ToString) _
                    '.Append(Environment.NewLine)
                End While
                conn.Close()
                context.Response.Write(sb.ToString)

            ElseIf type = "2" Then


                Dim str As String = ""
                str = "select container_id,container_nbr from container where client_id=" & Convert.ToInt64(HttpContext.Current.Session("clientid")) & " and container_nbr like '" & prefixText & "%'"


                Dim cmd As SqlCommand = New SqlCommand
                cmd.CommandText = str
                cmd.Connection = conn
                Dim sb As StringBuilder = New StringBuilder
                conn.Open()
                Dim sdr As SqlDataReader = cmd.ExecuteReader
                While sdr.Read
                    name = sdr("container_nbr").ToString
                    id = sdr("container_id").ToString
                    sb.Append(String.Format("{0}|{1}|{2}", name, id, Environment.NewLine))
                    ' sb.Append(sdr("Supplier_name").ToString & "-" & sdr("Location_name").ToString) _
                    '.Append(Environment.NewLine)
                End While
                conn.Close()
                context.Response.Write(sb.ToString)
            End If

        End If
    End Sub

    ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

Jquery AutoComplete CSS


.ac_results {
padding: 0px;
border: 1px solid black;
background-color: white;
overflow: hidden;
z-index: 100002;
}

.ac_results ul {
width: 100%;
list-style-position: outside;
list-style: none;
padding: 0;
margin: 0;
z-index: 100002;
}

.ac_results li {
margin: 0px;
padding: 2px 5px;
cursor: default;
display: block;
z-index: 100002;
/*
if width will be 100% horizontal scrollbar will apear
when scroll mode will be used
*/
/*width: 100%;*/
font: menu;
font-size: 12px;
/*
it is very important, if line-height not setted or setted
in relative units scroll will be broken in firefox
*/
line-height: 16px;
overflow: hidden;
}

.ac_loading {
background: white;
}

.ac_odd {
background-color: whitesmoke;
}

.ac_over {
background-color: silver;
color: white;
}

jQuery AutoComplete JS


/*
 * Autocomplete - jQuery plugin 1.1pre
 *
 * Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 5785 2008-07-12 10:37:33Z joern.zaefferer $
 *
 */

;(function($) {

$.fn.extend({
autocomplete: function(urlOrData, options) {
var isUrl = typeof urlOrData == "string";
options = $.extend({}, $.Autocompleter.defaults, {
url: isUrl ? urlOrData : null,
data: isUrl ? null : urlOrData,
delay: isUrl ? $.Autocompleter.defaults.delay : 10,
max: options && !options.scroll ? 10 : 150
}, options);

// if highlight is set to false, replace it with a do-nothing function
options.highlight = options.highlight || function(value) { return value; };

// if the formatMatch option is not specified, then use formatItem for backwards compatibility
options.formatMatch = options.formatMatch || options.formatItem;

return this.each(function() {
new $.Autocompleter(this, options);
});
},
result: function(handler) {
return this.bind("result", handler);
},
search: function(handler) {
return this.trigger("search", [handler]);
},
flushCache: function() {
return this.trigger("flushCache");
},
setOptions: function(options){
return this.trigger("setOptions", [options]);
},
unautocomplete: function() {
return this.trigger("unautocomplete");
}
});

$.Autocompleter = function(input, options) {

var KEY = {
UP: 38,
DOWN: 40,
DEL: 46,
TAB: 9,
RETURN: 13,
ESC: 27,
COMMA: 188,
PAGEUP: 33,
PAGEDOWN: 34,
BACKSPACE: 8
};

// Create $ object for input element
var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);

var timeout;
var previousValue = "";
var cache = $.Autocompleter.Cache(options);
var hasFocus = 0;
var lastKeyPressCode;
var config = {
mouseDownOnSelect: false
};
var select = $.Autocompleter.Select(options, input, selectCurrent, config);

var blockSubmit;

// prevent form submit in opera when selecting with return key
$.browser.opera && $(input.form).bind("submit.autocomplete", function() {
if (blockSubmit) {
blockSubmit = false;
return false;
}
});

// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
// track last key pressed
lastKeyPressCode = event.keyCode;
switch(event.keyCode) {

case KEY.UP:
event.preventDefault();
if ( select.visible() ) {
select.prev();
} else {
onChange(0, true);
}
break;

case KEY.DOWN:
event.preventDefault();
if ( select.visible() ) {
select.next();
} else {
onChange(0, true);
}
break;

case KEY.PAGEUP:
event.preventDefault();
if ( select.visible() ) {
select.pageUp();
} else {
onChange(0, true);
}
break;

case KEY.PAGEDOWN:
event.preventDefault();
if ( select.visible() ) {
select.pageDown();
} else {
onChange(0, true);
}
break;

// matches also semicolon
case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
case KEY.TAB:
case KEY.RETURN:
if( selectCurrent() ) {
// stop default to prevent a form submit, Opera needs special handling
event.preventDefault();
blockSubmit = true;
return false;
}
break;

case KEY.ESC:
select.hide();
break;

default:
clearTimeout(timeout);
timeout = setTimeout(onChange, options.delay);
break;
}
}).focus(function(){
// track whether the field has focus, we shouldn't process any
// results if the field no longer has focus
hasFocus++;
}).blur(function() {
hasFocus = 0;
if (!config.mouseDownOnSelect) {
hideResults();
}
}).click(function() {
// show select when clicking in a focused field
if ( hasFocus++ > 1 && !select.visible() ) {
onChange(0, true);
}
}).bind("search", function() {
// TODO why not just specifying both arguments?
var fn = (arguments.length > 1) ? arguments[1] : null;
function findValueCallback(q, data) {
var result;
if( data && data.length ) {
for (var i=0; i < data.length; i++) {
if( data[i].result.toLowerCase() == q.toLowerCase() ) {
result = data[i];
break;
}
}
}
if( typeof fn == "function" ) fn(result);
else $input.trigger("result", result && [result.data, result.value]);
}
$.each(trimWords($input.val()), function(i, value) {
request(value, findValueCallback, findValueCallback);
});
}).bind("flushCache", function() {
cache.flush();
}).bind("setOptions", function() {
$.extend(options, arguments[1]);
// if we've updated the data, repopulate
if ( "data" in arguments[1] )
cache.populate();
}).bind("unautocomplete", function() {
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
});


function selectCurrent() {
var selected = select.selected();
if( !selected )
return false;

var v = selected.result;
previousValue = v;

if ( options.multiple ) {
var words = trimWords($input.val());
if ( words.length > 1 ) {
v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v;
}
v += options.multipleSeparator;
}

$input.val(v);
hideResultsNow();
$input.trigger("result", [selected.data, selected.value]);
return true;
}

function onChange(crap, skipPrevCheck) {
if( lastKeyPressCode == KEY.DEL ) {
select.hide();
return;
}

var currentValue = $input.val();

if ( !skipPrevCheck && currentValue == previousValue )
return;

previousValue = currentValue;

currentValue = lastWord(currentValue);
if ( currentValue.length >= options.minChars) {
$input.addClass(options.loadingClass);
if (!options.matchCase)
currentValue = currentValue.toLowerCase();
request(currentValue, receiveData, hideResultsNow);
} else {
stopLoading();
select.hide();
}
};

function trimWords(value) {
if ( !value ) {
return [""];
}
var words = value.split( options.multipleSeparator );
var result = [];
$.each(words, function(i, value) {
if ( $.trim(value) )
result[i] = $.trim(value);
});
return result;
}

function lastWord(value) {
if ( !options.multiple )
return value;
var words = trimWords(value);
return words[words.length - 1];
}

// fills in the input box w/the first match (assumed to be the best match)
// q: the term entered
// sValue: the first matching result
function autoFill(q, sValue){
// autofill in the complete box w/the first match as long as the user hasn't entered in more data
// if the last user key pressed was backspace, don't autofill
if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
// fill in the value (keep the case the user has typed)
$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
// select the portion of the value not typed by the user (so the next character will erase)
$.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length);
}
};

function hideResults() {
clearTimeout(timeout);
timeout = setTimeout(hideResultsNow, 200);
};

function hideResultsNow() {
var wasVisible = select.visible();
select.hide();
clearTimeout(timeout);
stopLoading();
if (options.mustMatch) {
// call search and run callback
$input.search(
function (result){
// if no value found, clear the input box
if( !result ) {
if (options.multiple) {
var words = trimWords($input.val()).slice(0, -1);
$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
}
else
$input.val( "" );
}
}
);
}
if (wasVisible)
// position cursor at end of input field
$.Autocompleter.Selection(input, input.value.length, input.value.length);
};

function receiveData(q, data) {
if ( data && data.length && hasFocus ) {
stopLoading();
select.display(data, q);
autoFill(q, data[0].value);
select.show();
} else {
hideResultsNow();
}
};

function request(term, success, failure) {
if (!options.matchCase)
term = term.toLowerCase();
var data = cache.load(term);
// recieve the cached data
if (data && data.length) {
success(term, data);
// if an AJAX url has been supplied, try loading the data now
} else if( (typeof options.url == "string") && (options.url.length > 0) ){

var extraParams = {
timestamp: +new Date()
};
$.each(options.extraParams, function(key, param) {
extraParams[key] = typeof param == "function" ? param() : param;
});

$.ajax({
// try to leverage ajaxQueue plugin to abort previous requests
mode: "abort",
// limit abortion to this input
port: "autocomplete" + input.name,
dataType: options.dataType,
url: options.url,
data: $.extend({
q: lastWord(term),
limit: options.max
}, extraParams),
success: function(data) {
var parsed = options.parse && options.parse(data) || parse(data);
cache.add(term, parsed);
success(term, parsed);
}
});
} else {
// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
select.emptyList();
failure(term);
}
};

function parse(data) {
var parsed = [];
var rows = data.split("\n");
for (var i=0; i < rows.length; i++) {
var row = $.trim(rows[i]);
if (row) {
row = row.split("|");
parsed[parsed.length] = {
data: row,
value: row[0],
result: options.formatResult && options.formatResult(row, row[0]) || row[0]
};
}
}
return parsed;
};

function stopLoading() {
$input.removeClass(options.loadingClass);
};

};

$.Autocompleter.defaults = {

inputClass: "ac_input",
resultsClass: "ac_results",
loadingClass: "ac_loading",
minChars: 1,
delay: 400,
matchCase: false,
matchSubset: true,
matchContains: false,
cacheLength: 10,
max: 100,
mustMatch: false,
extraParams: {},
selectFirst: true,
formatItem: function(row) { return row[0]; },
formatMatch: null,
autoFill: false,
width: 0,
multiple: false,
multipleSeparator: ", ",
highlight: function(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
},
    scroll: true,
    scrollHeight: 180
};

$.Autocompleter.Cache = function(options) {

var data = {};
var length = 0;

function matchSubset(s, sub) {
if (!options.matchCase)
s = s.toLowerCase();
var i = s.indexOf(sub);
if (options.matchContains == "word"){
i = s.toLowerCase().search("\\b" + sub.toLowerCase());
}
if (i == -1) return false;
return i == 0 || options.matchContains;
};

function add(q, value) {
if (length > options.cacheLength){
flush();
}
if (!data[q]){
length++;
}
data[q] = value;
}

function populate(){
if( !options.data ) return false;
// track the matches
var stMatchSets = {},
nullData = 0;

// no url was specified, we need to adjust the cache length to make sure it fits the local data store
if( !options.url ) options.cacheLength = 1;

// track all options for minChars = 0
stMatchSets[""] = [];

// loop through the array and create a lookup structure
for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
var rawValue = options.data[i];
// if rawValue is a string, make an array otherwise just reference the array
rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;

var value = options.formatMatch(rawValue, i+1, options.data.length);
if ( value === false )
continue;

var firstChar = value.charAt(0).toLowerCase();
// if no lookup array for this character exists, look it up now
if( !stMatchSets[firstChar] )
stMatchSets[firstChar] = [];

// if the match is a string
var row = {
value: value,
data: rawValue,
result: options.formatResult && options.formatResult(rawValue) || value
};

// push the current match into the set list
stMatchSets[firstChar].push(row);

// keep track of minChars zero items
if ( nullData++ < options.max ) {
stMatchSets[""].push(row);
}
};

// add the data items to the cache
$.each(stMatchSets, function(i, value) {
// increase the cache size
options.cacheLength++;
// add to the cache
add(i, value);
});
}

// populate any existing data
setTimeout(populate, 25);

function flush(){
data = {};
length = 0;
}

return {
flush: flush,
add: add,
populate: populate,
load: function(q) {
if (!options.cacheLength || !length)
return null;
/*
* if dealing w/local data and matchContains than we must make sure
* to loop through all the data collections looking for matches
*/
if( !options.url && options.matchContains ){
// track all matches
var csub = [];
// loop through all the data grids for matches
for( var k in data ){
// don't search through the stMatchSets[""] (minChars: 0) cache
// this prevents duplicates
if( k.length > 0 ){
var c = data[k];
$.each(c, function(i, x) {
// if we've got a match, add it to the array
if (matchSubset(x.value, q)) {
csub.push(x);
}
});
}
}
return csub;
} else
// if the exact item exists, use it
if (data[q]){
return data[q];
} else
if (options.matchSubset) {
for (var i = q.length - 1; i >= options.minChars; i--) {
var c = data[q.substr(0, i)];
if (c) {
var csub = [];
$.each(c, function(i, x) {
if (matchSubset(x.value, q)) {
csub[csub.length] = x;
}
});
return csub;
}
}
}
return null;
}
};
};

$.Autocompleter.Select = function (options, input, select, config) {
var CLASSES = {
ACTIVE: "ac_over"
};

var listItems,
active = -1,
data,
term = "",
needsInit = true,
element,
list;

// Create results
function init() {
if (!needsInit)
return;
element = $("<div/>")
.hide()
.addClass(options.resultsClass)
.css("position", "absolute")
.appendTo(document.body);

list = $("<ul/>").appendTo(element).mouseover( function(event) {
if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
           active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
   $(target(event)).addClass(CLASSES.ACTIVE);          
       }
}).click(function(event) {
$(target(event)).addClass(CLASSES.ACTIVE);
select();
// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();
return false;
}).mousedown(function() {
config.mouseDownOnSelect = true;
}).mouseup(function() {
config.mouseDownOnSelect = false;
});

if( options.width > 0 )
element.css("width", options.width);

needsInit = false;
}

function target(event) {
var element = event.target;
while(element && element.tagName != "LI")
element = element.parentNode;
// more fun with IE, sometimes event.target is empty, just ignore it then
if(!element)
return [];
return element;
}

function moveSelect(step) {
listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
movePosition(step);
        var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
        if(options.scroll) {
            var offset = 0;
            listItems.slice(0, active).each(function() {
offset += this.offsetHeight;
});
            if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
                list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
            } else if(offset < list.scrollTop()) {
                list.scrollTop(offset);
            }
        }
};

function movePosition(step) {
active += step;
if (active < 0) {
active = listItems.size() - 1;
} else if (active >= listItems.size()) {
active = 0;
}
}

function limitNumberOfItems(available) {
return options.max && options.max < available
? options.max
: available;
}

function fillList() {
list.empty();
var max = limitNumberOfItems(data.length);
for (var i=0; i < max; i++) {
if (!data[i])
continue;
var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
if ( formatted === false )
continue;
var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
$.data(li, "ac_data", data[i]);
}
listItems = list.find("li");
if ( options.selectFirst ) {
listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
active = 0;
}
// apply bgiframe if available
if ( $.fn.bgiframe )
list.bgiframe();
}

return {
display: function(d, q) {
init();
data = d;
term = q;
fillList();
},
next: function() {
moveSelect(1);
},
prev: function() {
moveSelect(-1);
},
pageUp: function() {
if (active != 0 && active - 8 < 0) {
moveSelect( -active );
} else {
moveSelect(-8);
}
},
pageDown: function() {
if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
moveSelect( listItems.size() - 1 - active );
} else {
moveSelect(8);
}
},
hide: function() {
element && element.hide();
listItems && listItems.removeClass(CLASSES.ACTIVE);
active = -1;
},
visible : function() {
return element && element.is(":visible");
},
current: function() {
return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
},
show: function() {
var offset = $(input).offset();
element.css({
width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(),
top: offset.top + input.offsetHeight,
left: offset.left
}).show();
            if(options.scroll) {
                list.scrollTop(0);
                list.css({
maxHeight: options.scrollHeight,
overflow: 'auto'
});

                if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
var listHeight = 0;
listItems.each(function() {
listHeight += this.offsetHeight;
});
var scrollbarsVisible = listHeight > options.scrollHeight;
                    list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
if (!scrollbarsVisible) {
// IE doesn't recalculate width when scrollbar disappears
listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
}
                }
               
            }
},
selected: function() {
var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
return selected && selected.length && $.data(selected[0], "ac_data");
},
emptyList: function (){
list && list.empty();
},
unbind: function() {
element && element.remove();
}
};
};

$.Autocompleter.Selection = function(field, start, end) {
if( field.createTextRange ){
var selRange = field.createTextRange();
selRange.collapse(true);
selRange.moveStart("character", start);
selRange.moveEnd("character", end);
selRange.select();
} else if( field.setSelectionRange ){
field.setSelectionRange(start, end);
} else {
if( field.selectionStart ){
field.selectionStart = start;
field.selectionEnd = end;
}
}
field.focus();
};

})(jQuery);

Jquery AutoFill in asp.net










<%@ WebHandler Language="VB" Class="Search_VB" %>

Imports System
Imports System.Web
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Text
Imports System.Web.SessionState

Public Class Search_VB : Implements IHttpHandler
Implements IRequiresSessionState

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

Dim val As String = context.Request.QueryString("id")
Dim name As String
Dim id As String

If val = "1" Then

Dim part As String = Convert.ToString(HttpContext.Current.Session("part_id"))

Dim prefixText As String = context.Request.QueryString("q")
Dim conn As SqlConnection = New SqlConnection
conn.ConnectionString = ConfigurationManager _
.ConnectionStrings("SurgereConnection").ConnectionString
Dim stbuilder As New StringBuilder()
Dim exst_partid As Boolean = False
If val = "1" Then
If HttpContext.Current.Session("part_id") <> "" Then
exst_partid = True
stbuilder.Clear()
stbuilder.Append("Select Supplier_id,Supplier_name,upper(isnull(Supplier_code,'')) as Supplier_code from supplier where ")
stbuilder.Append("(Supplier_name +'-'+ upper(isnull(Supplier_code,'')) ) LIKE '" & prefixText & "%'")
stbuilder.Append(" and Supplier_id in (select Supplier_id from part_supplier_join where is_active_yn=1 and part_id=")
stbuilder.Append(Convert.ToInt64(Convert.ToString(HttpContext.Current.Session("part_id"))) & ")")
stbuilder.Append(" and Client_id=" & Convert.ToInt64(Convert.ToString(HttpContext.Current.Session("clientid"))))
Else
exst_partid = False
End If

End If
If val = "1" Then
If exst_partid = False Then
context.Response.Write("Choose Part..")
Else
Dim cmd As SqlCommand = New SqlCommand
cmd.CommandText = stbuilder.ToString()
cmd.Connection = conn
Dim sb As StringBuilder = New StringBuilder
conn.Open()
Dim sdr As SqlDataReader = cmd.ExecuteReader
While sdr.Read
name = sdr("Supplier_name").ToString & "-" & sdr("Supplier_code").ToString
id = sdr("Supplier_id").ToString
sb.Append(String.Format("{0}|{1}|{2}", name, id, Environment.NewLine))

'sb.Append(sdr("Supplier_name").ToString & "-" & sdr("Supplier_code").ToString) _
' .Append(Environment.NewLine)
End While
conn.Close()

If sb.ToString() <> "" Then
context.Response.Write(sb.ToString)
Else
context.Response.Write("Not available..")
End If
End If

End If



End If

End Sub

Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property

End Class

Saturday, May 14, 2011

Serial Communication in java

import javax.comm.*;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;

public class SerialComm implements SerialPortEventListener
{
CommPort thePort;
SerialPort myPort;
CommPortIdentifier cpi;
InputStream in;
OutputStream out;
String req,index,res1,sql,no;
String res=" ";

String s[]=new String[10];
int z=0;
public SerialComm() throws IOException
{
try
{
cpi = CommPortIdentifier.getPortIdentifier("COM36");
}
catch (NoSuchPortException e)
{
System.out.println("CPI");
}
try
{
thePort=cpi.open("mobile",30000);
myPort=(SerialPort)thePort;
}
catch (PortInUseException e)
{
System.out.println("mobile");
}
try
{
myPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
}
catch (UnsupportedCommOperationException e)
{
System.out.println("SetParam");
}
try
{
in=thePort.getInputStream();
}
catch (Exception e)
{
myPort.close();
System.out.println("InputStream");
}
try
{
out=thePort.getOutputStream();
}
catch (Exception e)
{
myPort.close();
System.out.println("outputStream");

}
try
{
myPort.notifyOnDataAvailable(true);
myPort.notifyOnBreakInterrupt(true);
}
catch (Exception e)
{
System.out.println("DATA avail");
}
try
{
myPort.enableReceiveTimeout(30);
}
catch (UnsupportedCommOperationException e)
{
System.out.println("enable receive");
}
try
{
myPort.addEventListener(this);
}
catch (Exception e)
{
System.out.println("ADD EVENT LISTEN");
}

System.out.println("Opened COM1");

}

public void serialEvent(SerialPortEvent ev)
{

StringBuffer inputBuffer = new StringBuffer();
int newData = 0;
int c=0,dat=0;
char h=0;

switch(ev.getEventType())
{
case SerialPortEvent.DATA_AVAILABLE:
try
{
byte[] b2 = new byte[9];
in.read(b2);

dat = in.read();

dat = dat << 8;

dat += in.read();




closePort();

System.out.println("Closed");

}catch (Exception e)
{
System.out.println("NEWDATA");
System.out.println(e);
return;
}
break;
case SerialPortEvent.BI:System.out.println(" Received Break ");
break;
}
}


class CloseThread extends Thread
{
@Override
public void run()
{
myPort.removeEventListener();
myPort.close();
}
}


public void closePort()
{

try
{
if (myPort != null)
{

myPort.getInputStream().close();
myPort.getOutputStream().close();
new CloseThread().start();

}

}
catch (Exception e) {}
}

}

Using Authorization with Swagger in ASP.NET Core

 Create Solution like below LoginModel.cs using System.ComponentModel.DataAnnotations; namespace UsingAuthorizationWithSwagger.Models {     ...