2015-12-07 2 views
0

У меня есть gridview, у которого есть столбец, который я хочу показать. Динамически: Если IsExpert или IsAgent равны true show Это еще не показано Это и я не хочу использовать RowBoundData. (IsExpert и IsAgent являются на стороне сервера недвижимости)Показать ButtonField gridview динамически

MyCode:

<asp:GridView ID="grvTicketList" runat="server" AllowPaging="True" AutoGenerateColumns="False" CssClass="table half table-hover table-mc-light-blue" GridLines="None" 
EmptyDataText="تیکتی موجود نیست" OnPageIndexChanging="grvTicketList_PageIndexChanging" PagerStyle-BackColor="White" 
PagerStyle-ForeColor="Black" OnRowCommand="grvTicketList_RowCommand" > 
<Columns> 

    <asp:BoundField DataField="TicketID" ReadOnly="true" HeaderText="شماره تیکت" /> 
    <asp:BoundField DataField="CurrentStateId" ReadOnly="true" HeaderText="شماره مرحله فعلی تیکت" /> 
    <asp:BoundField DataField="TrackingCode" ReadOnly="true" HeaderText="کد رهگیری" /> 
    <asp:BoundField DataField="ServiceName" ReadOnly="true" HeaderText="نام خدمت" /> 
    <asp:BoundField DataField="SubServiceName" ReadOnly="true" HeaderText=" نام زیر خدمت" /> 
    <asp:BoundField DataField="strTicketDate" HeaderText="زمان ثبت تیکت" /> 
    <asp:BoundField DataField="CustomerName" HeaderText=" نام و نام خانوادگی مشتری" /> 
    <asp:BoundField DataField="StateName" HeaderText="وضعیت تیکت" /> 
    <asp:BoundField DataField="UserName" HeaderText="نام ثبت کننده تیکت" /> 

    <asp:ButtonField Text="بازخورد" CommandName="FeedBack" ButtonType="Link" > 
     <ItemStyle ForeColor="#003399" /> 
    </asp:ButtonField> 

</Columns> 

<PagerStyle BackColor="White" ForeColor="Black"></PagerStyle> 

+0

Почему не 'RowDataBound' ? –

+0

Я предполагаю, что IsExpert и IsAgent являются свойством в вашем коде. почему бы вам не скрыть gridview в Page_Load, иначе используйте JQuery. – Zaki

+0

@ Zaki Да! IsExpert и IsAgent являются собственностью (тип bool), но мне нужен код сервера. Мне нужен видимый или невидимый столбец ButtonField. – masoodtav

ответ

1

В загрузке страницы

if(IsExpert || IsAgent) 
    GridView1.Columns[9].Visible=true; 
else 
    GridView1.Columns[9].Visible=false; 
+0

Спасибо .. Но IsExpert или IsAgent '- свойство на стороне сервера (тип bool) – masoodtav

+0

@masoodtav сейчас проверить – Imad

+0

Спасибо .. отлично :) – masoodtav

0

Вместо использования aspx я бы предпочел codebehind, например Page_Load или DataBound. Обратите внимание, что DataBound включается только один раз, в отличие от RowDataBound, который обжигали для каждой строки:

отделенного кода:

protected void GrvTicketList_DataBound(Object sender, EventArgs e) 
{ 
    GridView grid = (GridView)sender; 
    grid.Columns[9].Visible = IsExpert || IsAgent; 
} 

Aspx (добавить обработчик событий):

<asp:GridView ID="grvTicketList" OnDataBound="GrvTicketList_DataBound" runat="server" AllowPaging="True" AutoGenerateColumns="False" CssClass="table half table-hover table-mc-light-blue" GridLines="None" 
EmptyDataText="تیکتی موجود نیست" OnPageIndexChanging="grvTicketList_PageIndexChanging" PagerStyle-BackColor="White" 
PagerStyle-ForeColor="Black" OnRowCommand="grvTicketList_RowCommand" > 
<Columns> 

    <asp:BoundField DataField="TicketID" ReadOnly="true" HeaderText="شماره تیکت" /> 
    <asp:BoundField DataField="CurrentStateId" ReadOnly="true" HeaderText="شماره مرحله فعلی تیکت" /> 
    <asp:BoundField DataField="TrackingCode" ReadOnly="true" HeaderText="کد رهگیری" /> 
    <asp:BoundField DataField="ServiceName" ReadOnly="true" HeaderText="نام خدمت" /> 
    <asp:BoundField DataField="SubServiceName" ReadOnly="true" HeaderText=" نام زیر خدمت" /> 
    <asp:BoundField DataField="strTicketDate" HeaderText="زمان ثبت تیکت" /> 
    <asp:BoundField DataField="CustomerName" HeaderText=" نام و نام خانوادگی مشتری" /> 
    <asp:BoundField DataField="StateName" HeaderText="وضعیت تیکت" /> 
    <asp:BoundField DataField="UserName" HeaderText="نام ثبت کننده تیکت" /> 

    <asp:ButtonField Text="بازخورد" CommandName="FeedBack" ButtonType="Link" > 
     <ItemStyle ForeColor="#003399" /> 
    </asp:ButtonField> 

</Columns> 
Смежные вопросы