2011-06-27 23 views
1

我有這樣下面的代碼創建一個webpage.I一個GridView我試圖禁用SelectButton或使其不可見,或直接刪除它。我試圖選擇按鈕 - CommandField中的一個GridView在ASP.NET

AutoGenerateSelectButton="false" 

<asp:CommandField SelectText="Seç" Visible="false" 
                     ShowSelectButton="True" /> 

我甚至刪除了這部分

<Columns> 
      <asp:CommandField   SelectText="Seç"                   ShowSelectButton="True" /> 
</Columns> 

他們都不奏效,則SelectButton是ST在那裏生病。 我試圖改變它的SelecText

<asp:CommandField SelectText="Aç"                   ShowSelectButton="True" /> 

這沒有工作的well.I也試過

ShowSelectButton="False" and it didn't change anything. 

    <asp:UpdatePanel ID="UpdatePanelEnCokSatilanUrunler" runat="server"> 
      <ContentTemplate> 
         <asp:Panel ID="PanelEnCokSatilanUrunler" runat="server" 
         GroupingText="En Çok Satılan Ürünler" 
         BorderWidth="1" Font-Bold="true"> 
          <table class="style1"> 
           <tr> 
            <td> 
             <asp:GridView ID="GridView_EnCokSatilanUrunler" 
             runat="server" 
          OnRowDataBound="GridView_EnCokSatilanUrunler_RowDataBound" 
             Font-Bold="false" 
      OnSelectedIndexChanged="GridView_EnCokSatilanUrunler_SelectedIndexChanged" 
             AllowSorting="true" 
            OnSorting="GridView_EnCokSatilanUrunler_Sorting"> 
              <Columns> 
               <asp:CommandField SelectText="Seç" 
                ShowSelectButton="True"/> 
              </Columns>   
            </asp:GridView> 
        </td> 
        </tr> 
       </table> 
       </asp:Panel> 

       </ContentTemplate> 

      </asp:UpdatePanel> 

這是我在aspx.cs,這不做任何事情與SelectButton

protected void GridView_EnCokSatilanUrunler_SelectedIndexChanged(object sender, EventArgs e) 
     { 

     } 

     protected void GridView_EnCokSatilanUrunler_RowDataBound(object sender, GridViewRowEventArgs e) 
     { 
      if (e.Row.RowType == DataControlRowType.Header) 
      { 
       ((LinkButton)e.Row.Cells[1].Controls[0]).Text = "Ürün No"; 
       ((LinkButton)e.Row.Cells[2].Controls[0]).Text = "Ürün Adı"; 
       ((LinkButton)e.Row.Cells[3].Controls[0]).Text = "Satış Miktarı"; 
       ((LinkButton)e.Row.Cells[4].Controls[0]).Text = "Ürün Durum"; 
       ((LinkButton)e.Row.Cells[5].Controls[0]).Text = "Ürün Tipi"; 
       ((LinkButton)e.Row.Cells[6].Controls[0]).Text = "Marka"; 
       ((LinkButton)e.Row.Cells[7].Controls[0]).Text = "Model";     
      } 
      else if (e.Row.RowType == DataControlRowType.DataRow) 
      { 

      } 
     } 

     protected void GridView_EnCokSatilanUrunler_Sorting(object sender, GridViewSortEventArgs e) 
     { 
      if (EnCokSatilanUrunlerSortColumn == e.SortExpression) 
      { 
       if (EnCokSatilanUrunlerSortDirection) 
        EnCokSatilanUrunlerSortDirection = false; 
       else if (!EnCokSatilanUrunlerSortDirection) 
        EnCokSatilanUrunlerSortDirection = true; 
      } 
      else 
       EnCokSatilanUrunlerSortDirection = true; 

      EnCokSatilanUrunlerSortColumn = e.SortExpression; 

      EnCokSatilanUrunlerPageIndex = 0; 

      GridView_EnCokSatilanUrunler.SelectedIndex = -1; 


     } 

     void EnCokSatilanUrunlerGridDoldur() 
     { 
      GridView_EnCokSatilanUrunler.DataSource = DAL.raporx.DAOUrunx.GetEnCokSatilanBesUrun(
                            DateTime.Now - new TimeSpan(30, 0, 0, 0), 
                            DateTime.Now 
                           ); 

      GridView_EnCokSatilanUrunler.DataBind(); 
     } 

我只想要一個GridView沒有SelectButton

+0

建議增加一個模板字段,並把鏈接按鈕,會說「選擇「 – deostroll

+0

@deostroll謝謝Mr.deostroll,但我不希望選擇按鈕甚至不能作爲鏈接按鈕。 – Bastardo

回答

1

只要你不需要SelectButton嘗試從Columns欄目中刪除,並從您的GridView聲明中刪除OnSelectedIndexChanged和代碼刪除GridView_EnCokSatilanUrunler_SelectedIndexChanged方法落後。

+0

感謝,但它仍然是相同Mr.Mp – Bastardo

+0

您使用哪個版本的Asp.net? –

+0

我發現aspx類有一個主題,使所有的網格具有相同的結構,並改變它。謝謝你的幫助Mr.Mp. – Bastardo

1

告訴GridView控件不渲染選擇按鈕

gv.AutoGenerateSelectButton = false; 

接下來,添加一個模板字段。並在其中添加一個鏈接按鈕。

<asp:TemplateField> 
<ItemTemplate> 
<asp:LinkButton ID="lbtnSelect" Command="cmdSelect" Text="Select" runat="server"/> 
</ItemTemplate> 
</asp:TemplateField> 

您需要gridview的RowDataBound事件的處理程序。你可以在標記或代碼中做到這一點。我已經展示瞭如何通過代碼做到這一點:

gv.RowDataBound += new EventHandler(OnRowDataBound); 

事件接收的定義如下:

void OnRowDataBound(object sender, RowDataBoundEventArgs e) 
{ 
    if(e.Row.RowType == RowType.Row) 
    { 
     LinkButton lbtnSelect = (LinkButton) e.Row.FindControl("lbtnSelect"); 
     //now hide or show as per you logic 
    } 
} 

PS:在匆忙寫代碼,沒有目標的正確性。因此部分代碼可能不正確。如果你是谷歌,你可能會找到上述的正確代碼。以後會編輯,當我有時間......

+0

謝謝Mr.deostroll,我發現aspx類有一個主題,它使所有網格具有相同的結構並對其進行了更改。感謝您的幫助,下次我會嘗試您的代碼。 – Bastardo

2

到針對特定行刪除選擇:

在RowDatBound

e.Row.Cells[0].Controls[0].Visible = false; 
相關問題