PDA

View Full Version : نمایش در گرید ویو به شرط آنلاین



sasanrstm
جمعه 15 شهریور 1392, 08:46 صبح
سلام به کاربرانم اجازه دادم که بیان وبرای خودشون تالار گفتگو ایجاد کنن مثل همین سایت که میشه تایپک جدید زد میخوام کابرانی که آنلاین هستن تالار گفتگو آنهارو تو یه گرید نمایش بدم به فکرم رسید که از آرایه اسفاده کنم یه کد هم نوشتم اما جواب نداد وقتی شرط میزارم که کاربرا آنلاین نمایش داده بشه برای هر کدوم فقط مال خودشو نشون میده یعنی تو گرید همشو یه جا نشون نمیده در صورتی که من5 تا کاربر آنلاین دارم این کدیه که من نوشتم میشه راهنمائی کنین چطوری بنویسم ممنون

static protected ArrayList arry = new ArrayList();
try
{
Session["mo"] = Request.QueryString["us"].ToString();
string user = Request.QueryString["us"].ToString();

//if (Session["mo"] != null)
//{
string suser = user;
arry.Add(suser);
for (int i = 0; i < arry.Count; i++)
{
SqlConnection con = new SqlConnection(conn);
string query = "select * from Talar where User='" +suser + "'";// where Count='" + 1 + "'";
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
con.Close();

}
//}
}
catch
{
Response.Redirect("index.aspx");
}

sasanrstm
جمعه 15 شهریور 1392, 16:59 عصر
از دوستان کسی جوابی برام نداره

sasanrstm
جمعه 15 شهریور 1392, 21:20 عصر
مثل اینکه اینجا هیچ کس هیچی نمیدونه بجز من:لبخند: بابا یکی یه جوابی بده آی برنامه نویسان کجا هستین:لبخند:

zerocool151
جمعه 15 شهریور 1392, 22:59 عصر
توی onitemdatabind شرط رو چک کن اگه آنلاین بود اون ستون رو نمایش بده
اگه نه که نمایش نده دیگه

sasanrstm
شنبه 16 شهریور 1392, 01:32 صبح
توی onitemdatabind شرط رو چک کن اگه آنلاین بود اون ستون رو نمایش بده
اگه نه که نمایش نده دیگه
خب میشه بگی این کجا ست بیشتر میشه تو ضیح بدی onitemdatabind

zerocool151
شنبه 16 شهریور 1392, 01:53 صبح
دیدم کد بالاتو
ببین تو جدول تالار اگه میتونی یه join بزن و اون فیلد جدول یوزرها رو که میگه این یوزر آنلاین هست رو بیار توی این تیبل خروجیت
بعد ببین اون آنلاین هست یا نه و بعد Select کن دیگه
آخه چیزی نیس که توضیح بدم
اون OnItemDataBind که گفتم و ول کن اصلا متوجه سوالت نشده بودم

sasanrstm
شنبه 16 شهریور 1392, 02:04 صبح
خب همین کار ومیکنم ولی واسه هر کاربری یه صفحه جدا باز میشه تو گرید ویو جمع نمیاره

zerocool151
شنبه 16 شهریور 1392, 02:29 صبح
دو تا جدولاتو بزار

Kurdia
شنبه 16 شهریور 1392, 04:21 صبح
ی جدول داری ... id userid password onlineflage انلاین فلگ چک می کنه که یوزر آنلاینه یا نه True / False مقادبر True رو نمایش می ده

General-Xenon
شنبه 16 شهریور 1392, 07:47 صبح
سلام به کاربرانم اجازه دادم که بیان وبرای خودشون تالار گفتگو ایجاد کنن مثل همین سایت که میشه تایپک جدید زد میخوام کابرانی که آنلاین هستن تالار گفتگو آنهارو تو یه گرید نمایش بدم به فکرم رسید که از آرایه اسفاده کنم یه کد هم نوشتم اما جواب نداد وقتی شرط میزارم که کاربرا آنلاین نمایش داده بشه برای هر کدوم فقط مال خودشو نشون میده یعنی تو گرید همشو یه جا نشون نمیده در صورتی که من5 تا کاربر آنلاین دارم این کدیه که من نوشتم میشه راهنمائی کنین چطوری بنویسم ممنون

static protected ArrayList arry = new ArrayList();
try
{
Session["mo"] = Request.QueryString["us"].ToString();
string user = Request.QueryString["us"].ToString();

//if (Session["mo"] != null)
//{
string suser = user;
arry.Add(suser);
for (int i = 0; i < arry.Count; i++)
{
SqlConnection con = new SqlConnection(conn);
string query = "select * from Talar where User='" +suser + "'";// where Count='" + 1 + "'";
SqlCommand cmd = new SqlCommand(query, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
con.Close();

}
//}
}
catch
{
Response.Redirect("index.aspx");
}




این کدی که نوشتی خوب نبایدم بیاره . where User='" +suser + "'" گفتی که حتما این باشه . خب کاربرای دیگه رو نمیاره . کلا سیستمش بر این اساس هست که تاریخ رو چک می کنه ... هرکسی که در تالار یا تاپیک مربوطه پست میده : مثال تاریخ هر پست جدید رو به تاپیک انتقال میده و تاپیک رو میاد(یا بر اساس ID هر پست بصورت Identity که هر کدوم بزرگتر بود معلوما آخرین پست ارسالی بوده) یا اگر 2 تا جدول برای تاپیک و پست هاش داری با inner Join باید باز مقادیر رو بررسی کنی که کی آخرین پست رو داده و برای کدوم تاپیک هست . بعد خیلی راحت Selectت رو Order by کن بر اساس تاریخ یا حالا عدد یا هرچی(معمولا تاریخ) بعد دیگه میمونه نمایش...

حالا اگرم بر اساس آنلاین بودن کاربرا عمل میکنی به جای اینکه از Where استفاده کنی باید ایجاد کننده های تاپیک رو وضعیت آنلاین بودنشون رو Order کنی.. نه Username...

r_s1389@yahoo.com
شنبه 20 مهر 1392, 07:20 صبح
خوب دوست عزیز اگز کدتون کامل شد میشه کامل شده اش رو بذاری تو همین تاپیک تا ما هم استفاده کنیم
یه توضیح مختصر در مورد کدها بدی ممنون میشم

543310
شنبه 20 مهر 1392, 11:33 صبح
به نظر من بهترین راه اینه که توی دیتا بیست یع فیلد بذاری با عنوان memIsOnline و مقدارش true/false باشه (bit)...