PDA

View Full Version : مبتدی: عدم نمایش یک فیلد خاص در یک ردیف از گریدویو



saminjoon
دوشنبه 16 دی 1392, 12:37 عصر
سلام دوستان
روزتون بخیر :)
من یه مشکل در دستورات sql دارم که خودم نتونستم حلش کنم. سرچ هم کردم ولی چون نمیدونستم دقیقا باید دنبال چی بگردم موفق نشدم :افسرده:
من یه جدول در بانکم دارم که 5 فیلد داره ، نام و نام خانوادگی و کدملی و شماره همراه و اجازه نمایش شماره همراه به دیگر کاربران (که فیلد آخر مقدار yes , no میگیره)
حالا من همه این اطلاعاتو با گریدویو نمایش میدم ولی میخوام کسانی که اجازه نمایش شماره همراهشونو ندادن ، شماره اونا نشون داده نشه و جاش خالی باشه در ردیف مربوطه
میشه راهنمایم کنید؟

saminjoon
دوشنبه 16 دی 1392, 13:10 عصر
ینی کسی نمیدونه من باید چکار کنم ؟!!!:افسرده:

sagggad
دوشنبه 16 دی 1392, 14:48 عصر
سلام دوست عزیز.
این برنامه نسبتا پیچیده میشه اگه میتونی سورس رو بذار

saminjoon
دوشنبه 16 دی 1392, 16:20 عصر
این گریدویومه:


<div align="center">
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" BackColor="White" BorderColor="#DEDFDE"
BorderStyle="None" BorderWidth="1px" CellPadding="4" CssClass="mycontrol"
DataKeyNames="id" ForeColor="Black" GridLines="Vertical"
HeaderStyle-BackColor="#E3E3E3" HeaderStyle-BorderColor="#C1C1C1"
HeaderStyle-BorderStyle="Solid" HeaderStyle-BorderWidth="1"
width="80%">
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" BorderColor="#C1C1C1" BorderStyle="Solid"
BorderWidth="1px" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>

<asp:TemplateField Visible="false">
<HeaderTemplate>
<div align="right">
اجازه نمایش
</div>
</HeaderTemplate>
<ItemTemplate>
<div align="right" dir="rtl">
<%# Server.HtmlEncode(Container.DataItem("alwmob"))%>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div align="right">
شماره همراه
</div>
</HeaderTemplate>
<ItemTemplate>
<div align="right" dir="rtl">
<%# Container.DataItem("mob")%>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div align="right">
کدملی
</div>
</HeaderTemplate>
<ItemTemplate>
<div align="right" dir="rtl">
<%# Container.DataItem("codm")%>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div align="right">
نام و نام خانوادگی
</div>
</HeaderTemplate>
<ItemTemplate>
<div align="right" dir="rtl">
<%# Container.DataItem("nam")%>
<%# Container.DataItem("fam") %>
</div>
</ItemTemplate>
</asp:TemplateField>

</Columns>
<PagerStyle BackColor="#F7F7DE" BorderStyle="None" BorderWidth="0px"
ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>
میخوام وقتی alwmob مقدارش no بود ، مقدار mob نشون داده نشه
یعنی با توجه به عکس زیر، شماره همراه در ردیف اول یعنی 77777777777 نباید نشون داده بشه و باید جای اون خالی باشه
114948

sagggad
دوشنبه 16 دی 1392, 22:49 عصر
شما این پروژه رو دانلود کن:
114974
البته به زبان وی بی دات نت هست...
من با ASP کار نکردم
اما بازهم چون شما گفتید همون وی بی رو هم بذار من گذاشتم...
یک بانک اطلاعاتی Access در فایل های پروژه هست...
شما باید در اون جا اجازه ی نمایش دادن یا ندادن اطلاعات رو به برنامه بدید(داخل خود فایل)و از داخل پروژه نمیتونید اینکار رو بکنید...
چون این خصوصیت روی حالت ReadOnly قرارد دارد...
موفق باشید:لبخندساده:

saminjoon
سه شنبه 17 دی 1392, 11:34 صبح
یه راه حل ساده پیدا کردم
استفاده از تابع
قبلا هم خیلی ازش استفاده کرده بودم ولی نمیدونم چرا دیروز یادم نیومد :گیج:
من اینکارو کردم:


<asp:TemplateField>
<HeaderTemplate>
<div align="right"> شماره همراه </div>
</HeaderTemplate>
<ItemTemplate> <div align="right" dir="rtl">
<%# acc(Container.DataItem("mob"),Container.DataItem("alwmob")) %> </div>
</ItemTemplate>
</asp:TemplateField>

و اینم تابع:

Function acc(ByVal a As String, ByVal b As String) As String
If b = "no" Then
Return " "
Else
Return a
End If
End Function


در پایان بازم از آقا سجاد متشکرم بابت وقتی که گذاشتن :لبخندساده::چشمک: