Bind Grid using jQuery and How to get Grid Controls Value on Server Button click
Page is inside Master Page
public void InsertGRNItemDetail()
{
try
{
DataSet f_dset_Temp = new DataSet();
Int32 f_int_ErrCode = 0;
string f_str_ErrMsg = "";
DataTable dtCurrentTable = (DataTable)ViewState["GRNDetail"];
int index = 0;
foreach (GridViewRow row in grdDetail.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
bl.GRNCode = txtgrncode.Text.Trim();
Label lblgrntype = grdDetail.Rows[index].FindControl("lblgrntype") as Label;
Label lblitemtypecode = grdDetail.Rows[index].FindControl("lblitemtypecode") as Label;
Label lblitemcode = grdDetail.Rows[index].FindControl("lblitemcode") as Label;
Label lblitemuom = grdDetail.Rows[index].FindControl("lblitemuom") as Label;
Label lblpocode = grdDetail.Rows[index].FindControl("lblpocode") as Label;
Label lblHpoitemqty = grdDetail.Rows[index].FindControl("lblHpoitemqty") as Label;
Label lblHpoitempieces = grdDetail.Rows[index].FindControl("lblHpoitempieces") as Label;
TextBox txtHpoitemrate = grdDetail.Rows[index].FindControl("txtHpoitemrate") as TextBox;
TextBox txtISize = grdDetail.Rows[index].FindControl("txtISize") as TextBox;
TextBox txtIBaleNo = grdDetail.Rows[index].FindControl("txtIBaleNo") as TextBox;
TextBox txtIRollNo = grdDetail.Rows[index].FindControl("txtIRollNo") as TextBox;
HiddenField hfSupplierId = grdDetail.Rows[index].FindControl("hfSupplierId") as HiddenField;
TextBox txtIDesignNo = grdDetail.Rows[index].FindControl("txtIDesignNo") as TextBox;
TextBox txtIColor = grdDetail.Rows[index].FindControl("txtIColor") as TextBox;
TextBox txtHChaqtyreceived = grdDetail.Rows[index].FindControl("txtHChaqtyreceived") as TextBox;
TextBox txtHqtyreceived = grdDetail.Rows[index].FindControl("txtHqtyreceived") as TextBox;
Label lblamount = grdDetail.Rows[index].FindControl("lblamount") as Label;
TextBox txtHdiscount = grdDetail.Rows[index].FindControl("txtHdiscount") as TextBox;
Label lblnetamount = grdDetail.Rows[index].FindControl("lblnetamount") as Label;
TextBox txtHgstrate = grdDetail.Rows[index].FindControl("txtHgstrate") as TextBox;
Label lblgstamount = grdDetail.Rows[index].FindControl("lblgstamount") as Label;
Label lblgrossamount = grdDetail.Rows[index].FindControl("lblgrossamount") as Label;
TextBox txtShrinkWidth = grdDetail.Rows[index].FindControl("txtShrinkWidth") as TextBox;
TextBox txtShrinkLength = grdDetail.Rows[index].FindControl("txtShrinkLength") as TextBox;
DropDownList ddlHDiscountType = grdDetail.Rows[index].FindControl("ddlHDiscountType") as DropDownList;
bl.GRNType = lblgrntype.Text.Trim();
bl.GRNMaterialType = ddlGrnMaterialType.SelectedItem.Value.Trim();
bl.ItemTypeCode = Convert.ToInt32(lblitemtypecode.Text.Trim());
bl.ItemCode = lblitemcode.Text.Trim();
bl.UoM = lblitemuom.Text.Trim();
bl.PurcahseCode = lblpocode.Text.Trim();
bl.POQty = Convert.ToDouble(lblHpoitemqty.Text.Trim());
bl.ItemPieces = Convert.ToDouble(lblHpoitempieces.Text.Trim());
bl.PORate = Convert.ToDouble(txtHpoitemrate.Text.Trim());
bl.Size = Convert.ToDouble(txtISize.Text.Trim()).ToString("F2");
bl.BaleNo = txtIBaleNo.Text.Trim();
bl.RollNo = txtIRollNo.Text.Trim();
bl.DesignNo = txtIDesignNo.Text.Trim();
bl.Color = txtIColor.Text.Trim().ToUpper();
bl.ActualGRNQty = Convert.ToDouble(txtHqtyreceived.Text.Trim());
bl.POAmount = Convert.ToDouble(lblamount.Text.Trim());
bl.PODiscount = Convert.ToDouble(txtHdiscount.Text.Trim());
bl.NetAmount = Convert.ToDouble(lblnetamount.Text.Trim());
bl.GSTRate = Convert.ToDouble(txtHgstrate.Text.Trim());
bl.GSTAmount = Convert.ToDouble(lblgstamount.Text.Trim());
bl.GrossAmount = Convert.ToDouble(lblgrossamount.Text.Trim());
bl.ChallanQty = Convert.ToDouble(txtHChaqtyreceived.Text.Trim());
bl.CompanyCode = Session["HospitalID"].ToString().Trim();
bl.SupplierCode = Convert.ToInt32((hfSupplierId.Value) == "" ? "0" : (hfSupplierId.Value));
bl.ShrinkWidth = Convert.ToDouble((txtShrinkWidth.Text) == "" ? "0" : (txtShrinkWidth.Text));
bl.ShrinkLength = Convert.ToDouble((txtShrinkLength.Text) == "" ? "0" : (txtShrinkLength.Text));
bl.DiscountType = ddlHDiscountType.SelectedItem.Text.Trim();
dl.ENGG_GRNOrderDetail_Save(bl, ref f_int_ErrCode, ref f_str_ErrMsg);
}
index++;
}
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Alert", "alert('" + Server.HtmlEncode(ex.Message) + "');", true);
}
}
function OnSuccess(result) {
debugger
var row;
var data = result.d;
var crow, row1;
data = $.parseJSON(data);
// this is using json data
//Reference GridView Table.
var table = $("[id*=grdDetail]");
var GrnType = $.trim($("[id*=ddlGrnMaterialType").find("option:selected").val());
if (row == null) {
//Reference the Dummy Row.
row = $("[id*=grdDetail] tr:last-child").prev().clone(true);
row1 = row.clone(true);
crow = row1;
}
var footer;
footer = $("[id*=grdDetail] tr:last").clone(true);
//Remove the Dummy Row.
$("[id*=grdDetail] tr").not($("[id*=grdDetail] tr:first-child")).remove();
for (var i = 0; i < data["Table"].length; i++) {
//crow = row.clone(true);
var values = data["Table"];
crow = row1.clone(true);
$(crow[0]).find('[id*=lblrownum]').text((values[i].RowNumber == null ? "" : values[i].RowNumber));
$(crow[0]).find('[id*=lblgrntype]').text((values[i].GRNType == null ? "" : values[i].GRNType));
$(crow[0]).find('[id*=lblitemtypecode]').text((values[i].ItemTypeCode == null ? "" : values[i].ItemTypeCode));
$(crow[0]).find('[id*=lblitemtypename]').text((values[i].ItemTypeName == null ? "" : values[i].ItemTypeName));
$(crow[0]).find('[id*=lblitemcode]').text((values[i].ItemCode == null ? "" : values[i].ItemCode));
$(crow[0]).find('[id*=lblitemname]').text((values[i].ItemName == null ? "" : values[i].ItemName));
$(crow[0]).find('[id*=lblpocode]').text((values[i].PurchaseCode == null ? "" : values[i].PurchaseCode));
$(crow[0]).find('[id*=txtISize]').val((values[i].Size == null ? "" : values[i].Size));
$(crow[0]).find('[id*=txtIBaleNo]').val((values[i].BaleNo == null ? "" : values[i].BaleNo));
$(crow[0]).find('[id*=txtIRollNo]').val((values[i].RollNo == null ? "" : values[i].RollNo));
$(crow[0]).find('[id*=txtIDesignNo]').val((values[i].DesignNo == null ? "" : values[i].DesignNo));
$(crow[0]).find('[id*=txtIColor]').val((values[i].Color == null ? "" : values[i].Color));
$(crow[0]).find('[id*=lblHpoitemqty]').text((values[i].qty == null ? "" : values[i].qty));
$(crow[0]).find('[id*=lblHpoitempieces]').text((values[i].Pieces == null ? "" : values[i].Pieces));
$(crow[0]).find('[id*=txtHpoitemrate]').val((values[i].Rate == null ? "" : values[i].Rate));
if (GrnType == "1") {
if (values[i].UoMName == "KG") {
$(crow[0]).find('[id*=lblHpoitemqty]').text(parseFloat(values[i].qty).toFixed(3));//0.000
}
else {
if (values[i].qty == null) {
$(crow[0]).find('[id*=lblHpoitemqty]').text("");
}
else {
$(crow[0]).find('[id*=lblHpoitemqty]').text(parseFloat(values[i].qty).toFixed(2));//0.00
}
}
$(crow[0]).find('[id*=txtHpoitemrate]').removeAttr("disabled");
$(crow[0]).find('[id*=txtISize]').removeAttr("disabled");
$(crow[0]).find('[id*=txtIRollNo]').removeAttr("disabled");
$(crow[0]).find('[id*=txtIDesignNo]').removeAttr("disabled");
$(crow[0]).find('[id*=txtIColor]').removeAttr("disabled");
}
else {
$(crow[0]).find('[id*=txtHpoitemrate]').attr("disabled", "disabled");
$(crow[0]).find('[id*=txtISize]').attr("disabled", "disabled");
$(crow[0]).find('[id*=txtIRollNo]').attr("disabled", "disabled");
$(crow[0]).find('[id*=txtIDesignNo]').attr("disabled", "disabled");
$(crow[0]).find('[id*=txtIColor]').attr("disabled", "disabled");
$(crow[0]).find('[id*=txtISize]').val("0");
$(crow[0]).find('[id*=lblHpoitempieces]').text("0");
}
$(crow[0]).find('[id*=txtHqtyreceived]').val((values[i].ActualGRNQty == null ? "" : values[i].ActualGRNQty));
$(crow[0]).find('[id*=lblitemuom]').text((values[i].UoM == null ? "" : values[i].UoM));
$(crow[0]).find('[id*=lblitemuomname]').text((values[i].UoMName == null ? "" : values[i].UoMName));
$(crow[0]).find('[id*=lblamount]').text((values[i].Amount == null ? "" : values[i].Amount));
$(crow[0]).find('[id*=txtHdiscount]').val((values[i].Discount == null ? "" : values[i].Discount));
$(crow[0]).find('[id*=lblnetamount]').text((values[i].NetAmount == null ? "" : values[i].NetAmount));
$(crow[0]).find('[id*=txtHgstrate]').val((values[i].GSTRate == null ? "" : values[i].GSTRate));
$(crow[0]).find('[id*=lblgstamount]').text((values[i].GstAmount == null ? "" : values[i].GstAmount));
$(crow[0]).find('[id*=lblgrossamount]').text((values[i].GrossAmount == null ? "" : values[i].GrossAmount));
$(crow[0]).find('[id*=txtHChaqtyreceived]').val((values[i].ChallanQty == null ? "" : values[i].ChallanQty));
$(crow[0]).find('[id*=hfSupplierId]').val((values[i].SubSupplierCode == null ? "" : values[i].SubSupplierCode));
$(crow[0]).find('[id*=txtSupplier]').val((values[i].SubSupplierName == null ? "" : values[i].SubSupplierName));
$(crow[0]).find('[id*=txtShrinkWidth]').val((values[i].ShrinkWidth == null ? "" : values[i].ShrinkWidth));
$(crow[0]).find('[id*=txtShrinkLength]').val((values[i].ShrinkLength == null ? "" : values[i].ShrinkLength));
$("[id*=grdDetail] tbody").append($(crow[0]));
crow = $("[id*=grdDetail] tr:last-child").prev().clone(true);
}
$("[id*=grdDetail] tbody").append(footer[0]);
var supplier_values = data["Table"];
$("[id*=txtsuppliercode]").val(supplier_values[0].SupplierCode);
$("[id*=txtsuppliername]").val(supplier_values[0].SupplierName);
$("[id*=txtSupplierAddress]").val(supplier_values[0].Address);
CalculateGrandChallanQty();
CalculateGrandGRNQty();
CalculateNetAmount();
//SearchText();
$.each($('.sname'), function (index, item) {
SearchText($(item), $(item).closest('tr').find('input[type=hidden]'));
});
$.each($('.sfname'), function (index, item) {
SearchSupplierText($(item), $(item).closest('tr').find('input[id*=txtFSupplierCode]'));
});
};
$("[id*=grdDetail]").find('[id*=btnitemadd]').on('click', function () {
//debugger
var $tr = $(this).parents('tr');
var gridView = $("[id*=grdDetail]");
var add_row;
if ($tr.length > 0) {
if ($tr.find("[id*=txtFqtyreceived]").val() != "0" && $tr.find("[id*=txtFqtyreceived]").val() != "0.00" && $tr.find("[id*=txtFqtyreceived]").val() != "") {
var Current_ItemCode = $.trim($tr.find("[id*=ddl_Item]").val());
//var Current_GRNType = $.trim($("[id*=ddlgrntype]").val());
var Current_Color = $.trim($tr.find("[id*=txtFColor]").val());
var Current_DesignNo = $.trim($tr.find("[id*=txtFDesignNo]").val());
var Current_Size = $.trim($tr.find("[id*=txtFSize]").val());
var Current_BaleNo = $.trim($tr.find("[id*=txtFBaleNo]").val());
var Current_RollNo = $.trim($tr.find("[id*=txtFRollNo]").val());
var grid_tr = gridView.find("tr");
var sr_no = 0;
for (var i = 1; i < grid_tr.length - 2; i++) {
var ItemCode = $.trim($(grid_tr[i]).find('[id*=lblitemcode]').text());
//var GRNType = $.trim($(grid_tr[i]).find('[id*=lblgrntype]').text());
var DesignNo = $.trim($(grid_tr[i]).find('[id*=txtIDesignNo]').val());
var Color = $.trim($(grid_tr[i]).find('[id*=txtIColor]').val());
//var Size = $.trim($(grid_tr[i]).find('[id*=txtISize]').val());
var BaleNo = $.trim($(grid_tr[i]).find('[id*=txtIBaleNo]').val());
var RollNo = $.trim($(grid_tr[i]).find('[id*=txtIRollNo]').val());
//if (ItemCode == Current_ItemCode && Size == Current_Size && DesignNo == Current_DesignNo && Color == Current_Color && BaleNo == Current_BaleNo && RollNo == Current_RollNo) {
if (ItemCode == Current_ItemCode && DesignNo == Current_DesignNo && Color == Current_Color && BaleNo == Current_BaleNo && RollNo == Current_RollNo) {
alert('Item already selected');
return false;
}
}
//for Row_Number
$("[id*=grdDetail]").find('tr:has(td)').each(function (i) {
if (i < $("[id*=grdDetail]").find('tr:has(td)').length - 1) {
if ($(this).find('[id*=lblrownum]').text() != "") {
sr_no = $(this).find('[id*=lblrownum]').text();
}
else{
sr_no = 0;
}
}
});
sr_no = sr_no + 1;
//add_row = $("[id*=grdDetail] tr:last").prev().clone(true);
var dummy_row = gridView.find("tr").eq(1);
// alert($.trim(dummy_row.find('[id*=lblitemtypename]').text()));
add_row = dummy_row.clone(true);
//$("#ddlFruits").find("option:selected").text();
$(add_row[0]).find('[id*=lblgrntype]').text($.trim($("[id*=ddlgrntype").find("option:selected").val()));
$(add_row[0]).find('[id*=lblrownum]').text(sr_no);
// $(add_row[0]).find('[id*=lblitemtypecode]').text($tr.find("[id*=ddlItemType]").find("option:selected").val());
// $(add_row[0]).find('[id*=lblitemtypename]').text($tr.find("[id*=ddlItemType]").find("option:selected").text());
$(add_row[0]).find('[id*=lblitemcode]').text($tr.find("[id*=ddl_Item]").find("option:selected").val());
$(add_row[0]).find('[id*=lblitemname]').text($tr.find("[id*=ddl_Item]").find("option:selected").text());
$(add_row[0]).find('[id*=lblpocode]').text($tr.find("[id*=lblFpocode]").text());
$(add_row[0]).find('[id*=lblHpoitempieces]').text($tr.find("[id*=lblFpoitempieces]").val());
$(add_row[0]).find('[id*=txtHpoitemrate]').val($tr.find("[id*=txtFpoitemrate]").val());
$(add_row[0]).find('[id*=txtISize]').val($tr.find("[id*=txtFSize]").val());
$(add_row[0]).find('[id*=txtIBaleNo]').val($tr.find("[id*=txtFBaleNo]").val());
$(add_row[0]).find('[id*=txtIRollNo]').val($tr.find("[id*=txtFRollNo]").val());
$(add_row[0]).find('[id*=txtIDesignNo]').val($tr.find("[id*=txtFDesignNo]").val());
$(add_row[0]).find('[id*=txtIColor]').val($tr.find("[id*=txtFColor]").val());
$(add_row[0]).find('[id*=lblitemuom]').text($tr.find("[id*=lblFitemuomname]").text());
// $(add_row[0]).find('[id*=lblitemuom]').text($tr.find("[id*=ddluom]").find("option:selected").val());
// $(add_row[0]).find('[id*=lblitemuomname]').text($tr.find("[id*=ddluom]").find("option:selected").text());
$(add_row[0]).find('[id*=lblamount]').text(parseFloat($tr.find("[id*=txtamount]").val()).toFixed(2));
$(add_row[0]).find('[id*=txtHdiscount]').val(parseFloat($tr.find("[id*=txtFdiscount]").val()).toFixed(2));
$(add_row[0]).find('[id*=lblnetamount]').text(parseFloat($tr.find("[id*=txtnetamount]").val()).toFixed(2));
$(add_row[0]).find('[id*=txtHgstrate]').val(parseFloat($tr.find("[id*=txtgstrate]").val()).toFixed(2));
$(add_row[0]).find('[id*=lblgstamount]').text(parseFloat($tr.find("[id*=txtgstamount]").val()).toFixed(2));
$(add_row[0]).find('[id*=lblgrossamount]').text(parseFloat($tr.find("[id*=txtgrossamount]").val()).toFixed(2));
$(add_row[0]).find('[id*=hfSupplierId]').val(($tr.find("[id*=txtFSupplierCode]").val() == "" ? "0" : $tr.find("[id*=txtFSupplierCode]").val()));
$(add_row[0]).find('[id*=txtSupplier]').val($tr.find("[id*=txtFSupplier]").val());
$(add_row[0]).find('[id*=txtShrinkWidth]').val($tr.find("[id*=txtFShrinkWidth]").val());
$(add_row[0]).find('[id*=txtShrinkLength]').val($tr.find("[id*=txtFShrinkLength]").val());
if ($tr.find("[id*=ddluom]").val() == "9")//9=kg
{
$(add_row[0]).find('[id*=txtHqtyreceived]').val(parseFloat($tr.find("[id*=txtFqtyreceived]").val()).toFixed(3));
$(add_row[0]).find('[id*=txtHChaqtyreceived]').val(parseFloat($tr.find("[id*=txtFChaqtyreceived]").val()).toFixed(3));
$(add_row[0]).find('[id*=lblHpoitemqty]').text(parseFloat($tr.find("[id*=lblFpoitemqty]").val()).toFixed(3));
}
else {
$(add_row[0]).find('[id*=txtHqtyreceived]').val(parseFloat($tr.find("[id*=txtFqtyreceived]").val()).toFixed(2));
$(add_row[0]).find('[id*=txtHChaqtyreceived]').val(parseFloat($tr.find("[id*=txtFChaqtyreceived]").val()).toFixed(2));
$(add_row[0]).find('[id*=lblHpoitemqty]').text(parseFloat($tr.find("[id*=lblFpoitemqty]").val()).toFixed(2));
}
//var txtID = $('[id*=grdDetail] [id*=txtID]').val();
//var txtProductName = $('[id*=grdDetail] [id*=txtProductName]').val();
//var txtPrice = $('[id*=grdDetail] [id*=txtPrice]').val();
//var txtQuantity = $('[id*=grdDetail] [id*=txtQuantity]').val();
$("[id*=grdDetail] tbody tr:last").before($(add_row[0]));
//Check if row is dummy, if yes then remove.
if (dummy_row.find('[id*=lblitemname]').text() == "") {
dummy_row.remove();
}
CalculateNetAmount();
CalculateGrandChallanQty();
CalculateGrandGRNQty();
//clear controls
$tr.find("[id*=ddlItemType]").prop('selectedIndex', 0);
$tr.find("[id*=ddl_Item]").prop('selectedIndex', 0);
$tr.find("[id*=ddluom]").prop('selectedIndex', 0);
$tr.find("[id*=lblFpocode]").text("");
$tr.find("[id*=lblFpoitempieces]").val("");
$tr.find("[id*=txtFpoitemrate]").val("");
$tr.find("[id*=txtFSize]").val("");
$tr.find("[id*=txtFBaleNo]").val("");
$tr.find("[id*=txtFRollNo]").val("");
$tr.find("[id*=txtFDesignNo]").val("");
$tr.find("[id*=txtFColor]").val("");
$tr.find("[id*=txtamount]").val("");
$tr.find("[id*=txtFdiscount]").val("");
$tr.find("[id*=txtnetamount]").val("");
$tr.find("[id*=txtgstrate]").val("");
$tr.find("[id*=txtgstamount]").val("");
$tr.find("[id*=txtgrossamount]").val("");
$tr.find("[id*=txtFSupplierCode]").val("");
$tr.find("[id*=txtFSupplier]").val("");
$tr.find("[id*=txtFqtyreceived]").val("");
$tr.find("[id*=txtFChaqtyreceived]").val("");
$tr.find("[id*=lblFpoitemqty]").val("");
$tr.find("[id*=txtFShrinkWidth]").val("");
$tr.find("[id*=txtFShrinkLength]").val("");
$.each($('.sname'), function (index, item) {
SearchText($(item), $(item).closest('tr').find('input[type=hidden]'));
});
$.each($('.sfname'), function (index, item) {
SearchSupplierText($(item), $(item).closest('tr').find('input[id*=txtFSupplierCode]'));
});
}
else {
alert('GRN Qty is not Allow Blank and 0..');
}
}
});