ورود

View Full Version : سوال: فیلتر کردن اطلاعات list view



mbasirati
شنبه 11 خرداد 1392, 23:28 عصر
سلام
من یه لیست ویو دارم که اطلاعات یه جدول رو داره نمایش میده. بالای این لیست ویو دوتا دراپ داون لیست گذاشتم و یه باتون و بعد از انتخاب مقادیر و زدن دکمه، اطلاعات لیست ویو فیلتر میشه.
کدی هم که کار فیلتر کردن رو انجام میده توی pageLoad نوشتم. نه توی رویداد کلیک دکمه:
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource2.SelectParameters.Clear();
string query = "SELECT Request.*, Users.FullName, Users.Company, Users.Fax, Users.Tel FROM Request INNER JOIN Users ON Request.EmailUser = Users.Email where Approved='true'";

if (ddlType.SelectedValue != "-1")
query += " and Request.ReqType=@ReqType ";
if (ddlCat.SelectedValue != "-1")
query += " and Request.ReqCatID=@ReqCatID ";
SqlDataSource2.SelectParameters.Add("ReqType", ddlType.SelectedValue);
SqlDataSource2.SelectParameters.Add("ReqCatID", ddlCat.SelectedValue);
SqlDataSource2.SelectCommand = query;
ListView1.DataBind();
}

تا اینجا مشکلی نیس. من لیست ویو رو با استفاده از data pager صفحه بندی کردم. اگه اطلاعات فیلتر شده زیاد باشه طبیعتا لیست ویو صفحه بندی میشه. وقتی روی یکی از صفحه ها کلیک میشه فیلتر اطلاعات از بین میره (علتشم طبیعیه. چون مقادیر انتخاب شده در دراپ داون لیستها ریست میشه)

برای حل این مشکل چیکار کنم؟

parvizwpf
یک شنبه 12 خرداد 1392, 00:33 صبح
مقادیر فعلی دو تا دروپ دان رو انتقال بده تا آخرین حالتشون رو حفط کنند..

mbasirati
یک شنبه 12 خرداد 1392, 00:34 صبح
مقادیر فعلی دو تا دروپ دان رو انتقال بده تا آخرین حالتشون رو حفط کنند..

میشه بیشتر توضیح بدی؟

parvizwpf
یک شنبه 12 خرداد 1392, 00:55 صبح
ببینید فی القاعده کنترلهای ورودی مثل دروپ دان وضعیت خودشون رو با هر پست بک صفحه انتقال میدن. اگه میبینی که دوباره به اندیس صفرم برمیگردن، از سشن استفاده کن تا مقادیر رو نگه داری کنی.

mbasirati
یک شنبه 12 خرداد 1392, 01:07 صبح
ببینید فی القاعده کنترلهای ورودی مثل دروپ دان وضعیت خودشون رو با هر پست بک صفحه انتقال میدن. اگه میبینی که دوباره به اندیس صفرم برمیگردن، از سشن استفاده کن تا مقادیر رو نگه داری کنی.

بله حق باشماس . اما حرکت بین صفحه های یه گریویو یا لیست ویو پست بک حساب نمیشه، برا همین مقدار انتخاب شده دراپ داون دوباره برمیگرده به مقدار اولیش

parvizwpf
یک شنبه 12 خرداد 1392, 01:10 صبح
اگه نباشه پس آخرین وضعیت دروپ دان باید حفظ بشه.بهر حال تو یه سشن این کارو بکن. بهتر کد بره تو کلیک دکمه. شما با هر پست بک داری هی دیتا میخونی .

parvizwpf
یک شنبه 12 خرداد 1392, 01:17 صبح
میتونید کدتون رو داخل

if (!Page.IsPostBack)
{

}

بزارید

mbasirati
یک شنبه 12 خرداد 1392, 10:26 صبح
اگه نباشه پس آخرین وضعیت دروپ دان باید حفظ بشه
اتفاقا برعکس. اگه پست بک بشه آخرین وضعیت حفظ میشه.


بهر حال تو یه سشن این کارو بکن
خب چه جوری؟ چون من بازم هرچی فک میکنم یه جای کار مشکل پیدا میکنه

mbasirati
یک شنبه 12 خرداد 1392, 18:22 عصر
دوستان و اسایتد دیگه راه حلی ندارن؟