2011-08-02 19 views
8

Bu benim GRIDVIEW geçerli:oto sütunları oluşturulan sonra GRIDVIEW sütun eklemek nasıl ASP.NET

<asp:GridView ID="gridview" runat="server" AutoGenerateColumns="true"> 
    <Columns> 
     <asp:TemplateField HeaderText="TestColumn"> 
      <ItemTemplate> 
       <asp:LinkButton ID="lkbtn" runat="server" Text="Edit" 
        CommandName="Update" CausesValidation="False" ToolTip="Edit" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

TestColumn İlk sütun olmak biter, ama auto sonra istediğiniz oluşturulanlar.

+0

sütunları konumunu değiştirmek için jQuery kullanabilir miyim? – Sami

cevap

0

OtomatikGenerateColumnProperty öğesini false olarak ayarladıktan sonra sütunlarınızı istediğiniz gibi sıralarsınız. Sadece bir düzenleme düğmesi eklemek istiyorsanız

, kullanmak gerekir:

<asp:CommandField ShowEditButton="True" /> 

İşte bir örnek northwind veritabanını

<asp:GridView ID="GridView1" runat="server" 
AutoGenerateColumns="False" 
DataKeyNames="ProductID" 
DataSourceID="SqlDataSource1"> 
<Columns> 
<asp:BoundField DataField="ProductID" HeaderText="ProductID" 
InsertVisible="False" ReadOnly="True" SortExpression="ProductID" /> 
<asp:BoundField DataField="ProductName" HeaderText="ProductName"/> 
<asp:BoundField DataField="SupplierID" HeaderText="SupplierID" /> 
<asp:BoundField DataField="CategoryID" HeaderText="CategoryID"/> 
<asp:BoundField DataField="QuantityPerUnit" HeaderText="QuantityPerUnit"/> 
<asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" /> 
<asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" /> 
<asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder" /> 
<asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" /> 
<asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued"/> 
<asp:CommandField ShowEditButton="True" /> 
</Columns> 
</asp:GridView> 
+0

OP açıkça sütunların otomatik olarak oluşturulmasını istediğini belirtti. Yolunuzu kullanmak, otomatik oluşturucu sütunların avantajından yararlanacaktır. – P5Coder

+0

Benim hatam. Soruyu çok hızlı okudum. – alexandrekow

0

Bunun mümkün olmayabilir korkuyorum kullanarak. MS documentation Oku:

Ayrıca otomatik olarak oluşturulan sütun alanlarına tanımlanmak sütun alanlarını birleştirebilirsiniz. Her ikisi de kullanıldığında, önce bildirilen sütun alanları açıklanır, bunu otomatik olarak oluşturulmuş sütun alanları izler. Otomatik olarak oluşturulan sütun alanları, Sütunlar koleksiyonuna eklenmez. RowDataBound Olay işleyicisi

1

, sen satırın sonundaki ilk sütundan TemplateField hücreyi taşıyabilirsiniz:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    TableCell cell = e.Row.Cells[0]; 
    e.Row.Cells.RemoveAt(0); 
    e.Row.Cells.Add(cell); 
} 
İlgili konular