PDA

View Full Version : انتخاب سطر دیتا گرید مثل ایمیل یا جیمیل



ehsan#baharangiz
جمعه 12 مهر 1392, 19:53 عصر
سلام. من میخوام عمل انتخاب سطر رو در دیتاگرید مثل ایمیل انجام بدم یعنی با رفتن موس به هرجای سطر اون سطر رنگش عوض بشه بعد با کلیک روی هر نقطه از سطر عمل سیلیکشن انجام بشه.
ممنون میشم کسی کمک کنه

عرفان طباطبایی
جمعه 12 مهر 1392, 20:51 عصر
سلام باید data list استفاده کنی و از خاصیت hover در css برای اینکه وقتی می ره روش رنگش عوض بشه استفاده کنی

ehsan#baharangiz
جمعه 12 مهر 1392, 21:00 عصر
آخه میخوام خاصیت جدولیش حفظ بشه.نمونه کد داری در این رابطه؟ممنون میشم بذاری

عرفان طباطبایی
جمعه 12 مهر 1392, 21:19 عصر
اگر با data list بری جلو خیلی راحت تره هم می تونی هر جوریی که خودت می خوای جدول بندیش کنی

General-Xenon
جمعه 12 مهر 1392, 21:44 عصر
سلام باید data list استفاده کنی و از خاصیت hover در css برای اینکه وقتی می ره روش رنگش عوض بشه استفاده کنی

سلام الزاما Data List نیاز نیست . مثال :
<asp:DataGrid runat="server" ClientIDMode="Static" ID="dgv1">
</asp:DataGrid>
<script runat="server">
protected override void OnLoad (EventArgs e)
{
base.OnLoad(e);
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("name");
dt.Columns.Add("tell");
for (int i = 0; i < 10; i++)
{
dt.Rows.Add("name " + i.ToString(), "0912 xxx xx " + i.ToString("00"));
}
dgv1.DataSource = dt;
dgv1.DataBind();
}
</script>

<style>
#dgv1 tr:hover { background-color:#0094ff; color:#FFF; }
#dgv1 .selected { background-color:#ff6a00; }
</style>

<script>
$('#dgv1 tr').click(function () { $(this).toggleClass('selected'); });
</script>

ehsan#baharangiz
جمعه 12 مهر 1392, 22:55 عصر
روش خوبیه فقط میشه کدهارو کامل بذارین تو این قسمت ارور میده.
<script>
$('#dgv1 tr').click(function() { $(this).toggleClass('selected'); });
</script>

General-Xenon
شنبه 13 مهر 1392, 00:38 صبح
روش خوبیه فقط میشه کدهارو کامل بذارین تو این قسمت ارور میده.
<script>
$('#dgv1 tr').click(function() { $(this).toggleClass('selected'); });
</script>
این کد JQUERY هست دیگه . کتابخانه jquery رو dl کن

http://jquery.com/download/

aminireza65
شنبه 13 مهر 1392, 01:35 صبح
من از این راه استفاده کردم و کار هم میکنه.
این یه فایل جاوا اسکریپته. اینو تو اون صفحه ای که گرید ویو توشه add کن.(با استفاده از تگ <script>)
111507
این فایل سه تا تابع داره.
اولی برای اینه که وقتی رکوردی رو انتخاب میکنی یا از انتخاب در میاری رنگش چه رنگی بشه.
دومی برای اینه که وقتی checkbox انتخاب همه رو میزنی همه رو رکوردها رو انتخاب کنه یا از انتخاب در بیاره و همچنین رنگهاشون چه رنگی بشه.
سومی هم برای اینه که وقتی ماوس رو روی رکوردها میبری رنگشون چه رنگی بشه.
حالا اگه میخوای میتونی رنگها رو عوض کنی و مشکلی نداره.
اما برای کار کردن با این باید یه ستون اضافه کنی (templatefield) و داخلش هم یه checkbox بذاری دقیقا مثل لیست ایمیل ها در یاهو.
برای عنوان این ستون هم یه checkbox بذار برای انتخاب همه سطرها.
بعد کد زیر رو هم در رویداد RowDataBound مربوط به گرید بنویس.

if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "MouseEvents(this, event)");
e.Row.Attributes.Add("onmouseout", "MouseEvents(this, event)");
}

اگه سوالی بود من در خدمتم