چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
سلام دوستان عزیز:قلب:
چطور میتونم روی مقادیر موجود در DataList شرط هایی رو اعمال کنم؟
برای مثال در همین سایت برنامه نویس خیلی از اوقات این کار انجام میشه مثلا: داخل هر پست یک عکس هست که میگه کاربر در حال حاضر در سایت هست یا نه
که این کار رو وقتی اطلاعات رو از جدول میخونه برسی میکنه یعنی تو دیتالیست برسی میکنه که ایا این سطر از دیتا لیست کاربر روشن باشه یا خاموش
این کار رو چطور روی دیتالیست اعمال میکنن؟؟:متفکر:
ممنون.شاد باشید.
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
در دیتالیست باید از TemplateField استفاده کنی و هر ردیف رو طبق اون چیزی که میخوای میچینی مثلا یه image برای عکس کاربر، یه lable برای نام کاربر و .... . دیتالسیت رو هم که پر میکنی از db .
بعد از اینکه آنلاین بودن کاربر رو تشخیص دادی با یه foreach همه ی کاربرانی که آنلاین هستن رو یه image خاص براشون لود میکنی. یعنی میگردی در همه سطرهای دیتالیست کنترل image رو پیدا میکنی و اگه مالک اون سطر ON بود image آنلاین بودن رو براش نشون میدی.
<asp:GridView ID="gView1" runat="server" GridLines="None" AllowPaging="true" PageSize="4" AutoGenerateColumns="false" Width="800px" OnPageIndexChanging="gView1_PageIndexChanging" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table style="width:800px;margin:0px;" cellpadding=0 cellspacing=0>
<tr>
<td class="title" runat="server"><a name="<%#Eval("ID")%>"></a><%#Eval("Title1")%></td>
</tr>
<tr>
<td class="date" style="width:600px" runat="server"><asp:Label runat="server" ID="lbl_date" Text=<%#Eval("Date")%>></asp:Label></td>
</tr>
<tr><td class="height"></td></tr>
<tr>
<td class="body" runat="server"> <asp:Image CssClass="img" ID="img" runat="server" ImageUrl=<%#Eval("ImagePath")%> />
<%#Eval("Body")%></td>
</tr>
<tr><td class="_file" ><asp:HyperLink ID="lnk_fileDownload" runat="server" NavigateUrl=<%#Eval("filepath")%>></asp:HyperLink></td></tr>
<tr><td><hr style="width:100%" /></td></tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
البته این مال گرید هست ولی زیاد فرق نمیکنه تو دیتالیست فکرکنم ItemTemplate و Columns رو نخواد.
سمت سرور هم یه Select ساده داری و انتقال به یه دیتاست و نسبت دادن دیتاست به دیتالیست. کد foreach توی گرید یا دیتاست هم قبلا زیاد گفته شده.
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
ممنون از راهنماییت داداشی.
یعنی اول دیتالیست رو به دیتابیس وصل کنم و بعد تک تک سطر ها رو برسی کنم و تغییرات رو اعمال کنم؟؟
اما چطور باید مثلا Image که تو سطر 2 دیتالیست هست رو تغییر تصویر بدم و یا Lable همون سطر رو متنش رو عوض کنم؟؟
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
فکر کنم اینجوری باید عمل کنی
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataRowView row;
Image img;
row = (DataRowView)e.Item.DataItem;
img = (Image)e.Item.FindControl("image1");
if (row["online"].ToString().Trim() == "on")
{
img.ImageUrl = "~/on.gif";
}
else
{
img.ImageUrl = "~/off.jpg";
}
}
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
داداش گلم saleh.hi.62 جان واقعا ممنون. این کدت خیلی کمکم کرد.
راستی داداشی وقتی که توی پیامهات کد میخوای بزاری اونها رو Select کن و بعد علامت # رو بزن تا تو قالب کد نمایش داده بشه.مرسی
از همه دوستان هم ممنون.
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
دوستان یه سوال دیگه : حالا اگر بخوایم یک سری تغیرات رو روی یک سطر خاص انجام بدیم باید چه کار کرد.
مثلا تصویر Image سطر خاصی رو عوض کنیم؟؟
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
ممنون tarhebartar جان.
اما اگه نخوام این تغییرات تو دیتابیس ثبت بشه باید چی کار کنم.یعنی فقط ظاهر دیتالیست رو یه تغییری بدم مثلا تغییر تو چند تا سطر (که مقدار یکی از اشیاء سطری رو تغییر بدم)
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
دوست خوب فكر ميكنم كه براي تغيير مقدار ,خوب بايد ديتابيس ابديت بشه
ميشه واضحتر توضيح بدين؟
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
سلام دوستان گلم.
نه منظور تغییری نیست که روی دیتابیس انجام بشه.
فرض کنید اطلاعات رو از دیتا میخونیم و تو دیتالیست نمایش میدیم. حالا میخوام عکس Image موجود تو سطر 2 رو تغییر بدم .
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
tarhebartar جان یه سوال از شما دارم:من رفتم و سایت شما رو دیدم، تو صفحه اول سایتتون یک سری اطلاعات بود که به نظر میامد با دیتالیست نشون دادید. میخواستم بدونم شما چطوری دیتالیست رو صفحه بندی کردید؟؟ منظورم اینکه مثل گرید پایینش تعداد صفحه گذاشتید؟؟
من این سوال رو قبلا تو یه تایپیک دیگه پرسیده بودم دوستان هم چندین راه به من گفتن اما من نتونستم انجامش بدم. مشه لطف کنید و تو این ضمینه هم به من کمک کنید.
ممنون میشم گلم
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
سلام
ممنون از اینکه منو در مورد گذاشتن کد راهنمایی کردین خواهر جون گله عزیزم قربونت برم:خجالت:دیدی ما پسرا هم بلیدم ها:لبخندساده:
برای اینکه روی یه سطر خاص عملی رو انجام بدی شرطو اینجوری بنویس
DataList1.Items.Count ==i
مقدار i همون سطری که میخوای تغییر کنه .
در ضمن شماره سترها از 0 شورو میشه.
برای paging هم خودتو درگیر نکن از listveiw ای اس پی 3.5 استفاده کن میبینی که چقد انعطاف داره و خیلی آلی کارتو را میندازه.
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
بابا من نمیدونم رو چه حساب به من میگین خواهر؟؟؟من کی گفتم دخترم
ممنون از راهنماییتون.اما چطور باید مثلا image تو سطر 2 رو تغییر بدم؟؟
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataRowView row;
Image img;
row = (DataRowView)e.Item.DataItem;
img = (Image)e.Item.FindControl("image1");
if (DataList1.Items.Count == 1) //datalist برای سطر 2 مقدار 1 چون از 0 شروع میشه سطر های
{
img.ImageUrl = "~/test.jpg";//تو این قسمتم عکسی که میخوای تو اون سطر بزاری آدرس قرار بده
}
فکر کنم مشکل حله نه؟
اگه بازم مشکل داشتی بگو خواهر جان:لبخندساده:
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
دستت درد نکنه داداش saleh.hi.62 جان(تو از اون داداشای پر روی منی:بوس::قلب:).مرسی از کمکت اون مشکلم هم حل شد.
tarhebartar جان خیلی برام جالب بود که با گرید ویو هم میشه اینطوری طراحی کرد من فکر کردم دیتا لیسته
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
اشتباه میکنی خواهر جان من اونقدرا هم پر رو نیستم.
فقط یه کم خواستم مثل خودت باشم.
خیلی خودمونیو راحت این دلیل بر پررویی نیست که:متعجب::گریه:
راستی چه جوری از پست یه نفر تشکر میکنن؟؟
نقل قول: چطور میشه شرطی رو روی سطرهای دیتالیست اعمال کرد
saleh.hi.62 جان من منظوری نداشتم.امیدوارم ناراحت نشده باشی هر جور دوستی داری صدام کن عزیزم.
برای تشکر کردن هم کافیه کلید تشکر رو که زیر همون پست مربوط هست بزنی.به همین سادگی