hossein_va
چهارشنبه 12 فروردین 1394, 10:24 صبح
سلام
من میخوام بر حسب تعداد تیک های checkbox داده هامو فیلتر کنم مانند سایت زیر :
http://www.shixon.com/good/search/%D9%BE%DB%8C%D8%B1%D8%A7%D9%87%D9%86/?mc=1&g=2&sc=52&s=888
قسمت سایز .
با دستور زیر چک باکس هایی که کاربر انتخاب کرده را مشخص می کنم و کویری میگیرم اما مشکل اینجاست که برای فقط یه چک باکس کار میکنه و هنگامی که کاربر چند چک باکس را همزمان انتخاب میکنه دیگه فیلتر نمیشه (باید OR این چک باکس ها انجام بشه) .کد سمت سرور به شکل زیره
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
var query = myShop.SearchSize(item.Value);
DTProduct.DataSource = query.ToList();
}
}
که SearchSize رویه ذخیره شده است که به شکل زیر تعریف کردم
ALTER PROCEDURE [dbo].[SearchSize]
-- Add the parameters for the stored procedure here
@Amount1 nvarchar(20)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT distinct id,Price,pic1,pic2,Name
FROM [Producs] INNER JOIN
(
select * from [VWSize] where (Amount=@Amount1)
) as table1
ON [Producs].id=table1.Producs_Id
END
اگه مثلا میشد که کاری کرد که متغییر var مقدار قبلیش را نگه میداشت و مقدار جدید را هم بهش اضافه میشد درست میشد ولی هر کاری کردم نشد؟؟
من میخوام بر حسب تعداد تیک های checkbox داده هامو فیلتر کنم مانند سایت زیر :
http://www.shixon.com/good/search/%D9%BE%DB%8C%D8%B1%D8%A7%D9%87%D9%86/?mc=1&g=2&sc=52&s=888
قسمت سایز .
با دستور زیر چک باکس هایی که کاربر انتخاب کرده را مشخص می کنم و کویری میگیرم اما مشکل اینجاست که برای فقط یه چک باکس کار میکنه و هنگامی که کاربر چند چک باکس را همزمان انتخاب میکنه دیگه فیلتر نمیشه (باید OR این چک باکس ها انجام بشه) .کد سمت سرور به شکل زیره
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
{
var query = myShop.SearchSize(item.Value);
DTProduct.DataSource = query.ToList();
}
}
که SearchSize رویه ذخیره شده است که به شکل زیر تعریف کردم
ALTER PROCEDURE [dbo].[SearchSize]
-- Add the parameters for the stored procedure here
@Amount1 nvarchar(20)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT distinct id,Price,pic1,pic2,Name
FROM [Producs] INNER JOIN
(
select * from [VWSize] where (Amount=@Amount1)
) as table1
ON [Producs].id=table1.Producs_Id
END
اگه مثلا میشد که کاری کرد که متغییر var مقدار قبلیش را نگه میداشت و مقدار جدید را هم بهش اضافه میشد درست میشد ولی هر کاری کردم نشد؟؟