PDA

View Full Version : مخفی کردن یک ستون TemplateField



اوبالیت به بو
سه شنبه 20 اسفند 1392, 17:36 عصر
درود بر شما

یک ستون TemplateField در گرید ویو سفارشی دارم که می خوام بر اساس یک شرط نمایش و یا مخفی بشود. چه کدی برای این کار وجود دارد؟

این ساختار گرید من است:


<asp:GridView ID="gvEstates" runat="server" AutoGenerateColumns="False"
CssClass="table table-bordered table-hover table-striped table-condensed" OnRowCommand="gvEstates_RowCommand">
<Columns>
<asp:BoundField DataField="EstateId" HeaderText="شناسه ملک">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="نوع">
<ItemTemplate>
<asp:Label ID="lblEstateType" runat="server" Text='<%# GetEstateTypeName((int)Eval("EstateType_Id")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="مرحله ساخت">
<ItemTemplate>
<asp:Label ID="lblEstateStatusName" runat="server" Text='<%# GetEstateStatusName((int)Eval("EstateStatus_Id")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="منطقه">
<ItemTemplate>
<asp:Label ID="lblRegionName" runat="server" Text='<%# GetRegionName((int)Eval("Region_Id")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField DataField="Address" HeaderText="آدرس">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="OwnerName" HeaderText="مالک">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="Telephone" HeaderText="تلفن">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="Mobile" HeaderText="موبایل">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="TotalOfFloors" HeaderText="تعداد طبقات">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="TotalOfUnits" HeaderText="تعداد واحد ها">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="آخرین بازدید">
<ItemTemplate>
<asp:Label ID="lblDateOfUpdate" runat="server" Text='<%# GetShamsiDate((DateTime)Eval("DateOfUpdate")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="تصویر">
<ItemTemplate>
<asp:Image ID="imgEstatePicture" runat="server" Height="70px" ImageUrl='<%# Eval("Picture") %>' Width="75px" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="جزییات">
<ItemTemplate>
<asp:ImageButton ID="btnDetails" runat="server" CommandArgument='<%# Eval("EstateId") %>' CommandName="Details" ImageUrl="~/Assets/RTL/images/print-preview.gif" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="ویرایش">
<ItemTemplate>
<asp:ImageButton ID="btnEdit" runat="server" CommandArgument='<%# Eval("EstateId") %>' CommandName="EditRow" ImageUrl="~/Assets/RTL/images/ico-edit.gif" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
هیچ ملکی در سیستم تعریف نشده است.
</EmptyDataTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:GridView>


کدهای سبز رنگ ستونی است که می خواهم مخفی بشود.

aminireza65
سه شنبه 20 اسفند 1392, 18:26 عصر
در رویداد databound گرید ویو یک حلقه ایجاد کن که از صفر تا grid1.row.count-1 بشماره و سطر به سطر چک کنه که template fieldای که باید مخفی بشه، visible محتویاتش رو false کنه.

اوبالیت به بو
سه شنبه 20 اسفند 1392, 21:40 عصر
ممنونم.

راه بهتری وجود نداره؟

Mohammad_dn
سه شنبه 20 اسفند 1392, 21:49 عصر
من چنین مواقعی کد هامو داخل یوزر کنترول قرار میدم و بعد یوزر کنترول رو میزارم داخل گرید..اینجوری راحت میتونی شرط خودتو بزاری

اوبالیت به بو
شنبه 24 اسفند 1392, 12:10 عصر
به دنبال راه حل بهینه تری هستم.