View Full Version : نمایش یک لیبل برای پیغام در گریدویو
mydesign
سه شنبه 11 خرداد 1389, 22:40 عصر
دوستان عزیز با عرض شرمندگی هرچی گشتم نتونستم جواب سوالم را پیدا کنم سوالم اینه که :
من در یک گرید ویو اطلاعات کالاها را برای خرید و نمایش به کاربر نشون دادم حالا مشکلم اینه که میخوام در همون گرید یک ستون دیگه اضافه کنم و یک لیبل در داخل آن بگذارم که اگه موجودی هر کالایی صفر شد مقابل اطلاعات مربوط به همون کالا در لیبل متن " کالای مورد نظر موجود نیست" را به کاربر نشون بده
نمیدونم چه طوری باید این کار را انجام بدم:افسرده:
Vahid_moghaddam
چهارشنبه 12 خرداد 1389, 00:54 صبح
یه templatefield اضافه کنید. توش یه label بذارید و در رویداد RowDataBound به اون مقدار بدید بر اساس مقدار موجودی کالا (مقدار ها رو می تونید از e.Row.DataItem بدست بیارید)
hamedsabzian
چهارشنبه 12 خرداد 1389, 00:54 صبح
یک TemplateField به صورت زیر اضافه کن.
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="LMessage"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
توی رویداد RowDataBound از کد زیر استفاده کن.
if ((e.Row.RowState == DataControlRowState.Alternate || e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Selected)
&& e.Row.RowType == DataControlRowType.DataRow && e.Row.RowType != DataControlRowType.EmptyDataRow)
{
DataRowView row=(DataRowView)e.Row.DataItem;
if (((int)row["Count"]) == 0)
{
((Label)e.Row.Cells[5].FindControl("LMessage")).Text = "کالا موجود نیست";
}
}
فرض شده شماره ستون Label برابر 5 و نام ستون تعداد کالاها Count است.
mydesign
پنج شنبه 13 خرداد 1389, 14:09 عصر
ممنون از دوستان عزیز مشکلم حل شد:تشویق:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.