Hi AliYilmaz,
I have created a sample which full fill your requirement you need to modify the code according to your requirement
SQL
CREATE TABLE Kategori
(
ID INT IDENTITY(1,1) PRIMARY KEY,
KategoriAd VARCHAR(250)
)
INSERT INTO Kategori VALUES('CAMERA')
INSERT INTO Kategori VALUES('LENS')
INSERT INTO Kategori VALUES('FILITRE')
INSERT INTO Kategori VALUES('WRILES FOCUS')
INSERT INTO Kategori VALUES('TRIPOD-KAFA')
INSERT INTO Kategori VALUES('MONITOR')
INSERT INTO Kategori VALUES('CLIPON MOTTEBOX')
INSERT INTO Kategori VALUES('MOTTEBOX')
INSERT INTO Kategori VALUES('AKU-SARJOR')
INSERT INTO Kategori VALUES('FOLLOW FOCUS')
INSERT INTO Kategori VALUES('BILGISAYAR')
INSERT INTO Kategori VALUES('SARF MALZEME VS.')
CREATE TABLE Urunler
(
ID INT IDENTITY(1,1),
UrunAd VARCHAR(250),
ResimYol VARCHAR(250),
Stok INT,
SeriNo NVARCHAR(200),
UrunKodu INT,
UrunSayisi INT,
Onay INT,
TedarikcilID INT,
KatID INT FOREIGN KEY REFERENCES Kategori(ID)
)
INSERT INTO Urunler VALUES('17 INC MACBOOK PRO','17-INC-MACBOOK-PRO.jpg',3,'C02040NADC7C',1,5,1,2,5)
INSERT INTO Urunler VALUES('21 INC MACBOOK PRO','21-INC-MACBOOK-PRO.jpg',6,'C02040NADC7C',1,5,1,2,5)
INSERT INTO Urunler VALUES('15 INC MACBOOK PRO','15-INC-MACBOOK-PRO.jpg',1,'CO2MQ1LMFD56',3,5,0,2,5)
INSERT INTO Urunler VALUES('21 ACER PRO','21-ACER-PRO.jpg',3,'C2054MAZHAJ',1,5,1,2,4)
INSERT INTO Urunler VALUES('17 ACER PRO','17-ACER-PRO.jpg',5,'C52454SUSJDU',1,5,1,2,4)
INSERT INTO Urunler VALUES('15 ACER PRO','15-ACER-PRO.jpg',7,'CSSE5245566',1,5,1,2,4)
INSERT INTO Urunler VALUES('INTEL I3','INTEL-I3.jpg',3,'C4154eeshdyu',1,5,1,2,3)
INSERT INTO Urunler VALUES('CAMERA 1','CAMERA-1.jpg',7,'C02040NADC7C',1,5,6,2,1)
INSERT INTO Urunler VALUES('CAMERA 2','CAMERA-2.jpg',8,'C02040NADC7C',1,5,6,2,1)
INSERT INTO Urunler VALUES('CAMERA 3','CAMERA-3.jpg',9,'C02040NADC7C',1,5,6,2,1)
HTML
<div>
Category:-
<asp:TextBox ID="txtkategori" runat="server" />
<br />
<br />
<asp:ScriptManager runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="example" Style="display: none" CssClass="table table-striped table-bordered table-hover"
AutoGenerateColumns="false" runat="server" ClientIDMode="Static">
<Columns>
<asp:TemplateField HeaderText="Ürün Seç" ItemStyle-Width="5%">
<ItemTemplate>
<asp:CheckBox ID="chcsec" CssClass="form-control" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UrunAd" HeaderText="Ürün Ad" />
<asp:BoundField DataField="Stok" HeaderText="Stok" />
<asp:BoundField DataField="SeriNo" HeaderText="Seri No" />
<asp:BoundField DataField="TedarikcilID" HeaderText="Tedarikçi" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/themes/blitzer/jquery-ui.css"
rel="Stylesheet" type="text/css" />
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<script type="text/javascript">
$(function () {
$('[id*=txtkategori]').autocomplete({
source: function (request, response) {
$.ajax({
url: "Default.aspx/Kategori",
data: "{ 'q': '" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.d.length > 0) {
response($.map(data.d, function (item) {
return {
label: item,
val: item
};
}))
} else {
response([{ label: 'No results found.', val: -1}]);
}
}
});
},
minLength: 1
});
$('[id*=txtkategori]').keyup(function () {
var obj = {};
obj.value = $(this).val();
$.ajax({
url: "Default.aspx/BindProductTable",
data: JSON.stringify(obj),
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.d != "Please Enter Valid Category" && data.d != "No Data Found!!") {
var xmlDoc = $.parseXML(data.d);
var xml = $(xmlDoc);
var Products = xml.find("Products");
var row = $("[id*=example] tr:last-child").clone(true);
$("[id*=example] tr").not($("[id*=example] tr:first-child")).remove();
$.each(Products, function () {
var product = $(this);
$("td", row).eq(1).html("<input type='checkbox' id='chcsec'/>");
$("td", row).eq(1).html($(this).find("UrunAd").text());
$("td", row).eq(2).html($(this).find("Stok").text());
$("td", row).eq(3).html($(this).find("SeriNo").text());
$("td", row).eq(4).html($(this).find("TedarikcilID").text());
$("[id*=example]").append(row);
row = $("[id*=example] tr:last-child").clone(true);
});
$("[id*=example]").attr('style', 'display:block');
}
else {
$("[id*=example]").attr('style', 'display:none');
alert(data.d);
}
},
error: function (data) { alert(data.d); }
});
});
});
</script>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[4] {
new DataColumn("UrunAd")
,new DataColumn("Stok")
,new DataColumn("SeriNo")
,new DataColumn("TedarikcilID") });
dt.Rows.Add();
example.DataSource = dt;
example.DataBind();
}
}
[WebMethod]
public static List<string> Kategori(string q)
{
List<string> kategori = new List<string>();
using (Entities medya = new Entities())
{
kategori = (from v in medya.Kategoris where v.KategoriAd.StartsWith(q) select v.KategoriAd).ToList();
}
return kategori;
}
[WebMethod]
public static string BindProductTable(string value)
{
if (!string.IsNullOrEmpty(value))
{
using (Entities medya = new Entities())
{
var uruns = (from b in medya.Urunlers
join c in medya.Kategoris on b.KatID equals c.ID into product
from prod in product
where prod.KategoriAd.StartsWith(value)
select new { b.ID, b.UrunAd, b.Stok, b.SeriNo, b.TedarikcilID }).Where(x => x.Stok > 0).ToList();
DataTable dt = new DataTable("Products");
dt.Columns.AddRange(new DataColumn[4] { new DataColumn("UrunAd"), new DataColumn("Stok"), new DataColumn("SeriNo"), new DataColumn("TedarikcilID") });
for (int i = 0; i < uruns.Count; i++)
{
dt.Rows.Add(uruns[i].UrunAd, uruns[i].Stok, uruns[i].SeriNo, uruns[i].TedarikcilID);
}
if (dt.Rows.Count > 0)
{
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds.GetXml();
}
else
{
return "No Data Found!!";
}
}
}
else
{
return "Please Enter Valid Category";
}
}
Screenshot
