PDA

View Full Version : نمایش یک لیبل برای پیغام در گریدویو



mydesign
سه شنبه 11 خرداد 1389, 21:40 عصر
دوستان عزیز با عرض شرمندگی هرچی گشتم نتونستم جواب سوالم را پیدا کنم سوالم اینه که :

من در یک گرید ویو اطلاعات کالاها را برای خرید و نمایش به کاربر نشون دادم حالا مشکلم اینه که میخوام در همون گرید یک ستون دیگه اضافه کنم و یک لیبل در داخل آن بگذارم که اگه موجودی هر کالایی صفر شد مقابل اطلاعات مربوط به همون کالا در لیبل متن " کالای مورد نظر موجود نیست" را به کاربر نشون بده

نمیدونم چه طوری باید این کار را انجام بدم:افسرده:

Vahid_moghaddam
سه شنبه 11 خرداد 1389, 23:54 عصر
یه templatefield اضافه کنید. توش یه label بذارید و در رویداد RowDataBound به اون مقدار بدید بر اساس مقدار موجودی کالا (مقدار ها رو می تونید از e.Row.DataItem بدست بیارید)

hamedsabzian
سه شنبه 11 خرداد 1389, 23: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, 13:09 عصر
ممنون از دوستان عزیز مشکلم حل شد:تشویق: