2016-03-29 8 views
0

Bir sütun görünümünde, sütunların üzerinde tek sütun ayarlamak zorunda olduğum birkaç sütun, yani Leaf Name,Leaf Code,Leaf Value,Leaf Vendor Code,Leaf Id,Leaf ZOnal,Leaf Leveller sütunlarım var. Burada sütunların üzerinde Leaves Details olarak tek sütun vermem gerekiyor. Hiçbir başarı ile rowdatabound kodu takip yaptım, yeni tek sütun tüm üstünde geliyor.Yalnız ne yaptığını söyle lütfen. Yapacağım daha önemli bir şey olduğunu, bu yüzden bir üst gelebilir gridview özelliği PagerSettings Position top ayarla endeks değerlerine 1,2,3 vs. buradaASP.NET'teki çoklu sütun başlığı GridView

olarak ızgara benim GRIDVIEW

<asp:GridView ID="grdcell" runat="server" AutoGenerateColumns="False" AllowPaging="true" PageSize="13" DataKeyNames="firstname,location" 
       CellPadding="4" ForeColor="#333333" OnPageIndexChanging="grdNewcells_PageIndexChanging" OnRowDataBound="grdcell_RowDataBound" > 
       <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
       <Columns> 
        <asp:TemplateField HeaderText="Insert" HeaderStyle-HorizontalAlign="Left"> 
         <HeaderTemplate> 
          <asp:CheckBox ID="insertall" Text="Insert All" onclick="checkAll(this);" runat="server" /> 
         </HeaderTemplate> 
         <ItemTemplate> 
          <asp:CheckBox ID="insertChk" runat="server" /> 
         </ItemTemplate> 
         <HeaderStyle HorizontalAlign="Left"></HeaderStyle> 
        </asp:TemplateField> 
        <asp:BoundField DataField="Leaf_NAME" HeaderText="Leaf Name" SortExpression="Leaf_NAME"></asp:BoundField> 
        <asp:BoundField DataField="Leaf_CODE" HeaderText="Leaf Code" SortExpression="Leaf_CODE"></asp:BoundField> 
        <asp:BoundField DataField="Leaf_Value" HeaderText="Leaf Value" SortExpression="Leaf_Value"></asp:BoundField> 
        <asp:BoundField DataField="LeafVENDOR_CODE" HeaderText="Leaf Vendor Code" SortExpression="LeafVENDOR_CODE"></asp:BoundField> 
        <asp:BoundField DataField="Leaf_ID" HeaderText="Leaf Id" SortExpression="Leaf_ID"></asp:BoundField> 
        <asp:BoundField DataField="Leaf_ZOnal" HeaderText="Leaf ZOnal" SortExpression="Leaf_ZOnal"></asp:BoundField> 
        <asp:BoundField DataField="Leaf_Leveller" HeaderText="Leaf Leveller" SortExpression="Leaf_Leveller"></asp:BoundField> 
        <asp:BoundField DataField="Loaction" HeaderText="Loaction" SortExpression="Loaction"></asp:BoundField> 

ve eş de sipariş (alt başlık ile) ortak bir başlıkta için "grup" birkaç sütun ise

GridViewRow gvRow = e.Row; 
       if (gvRow.RowType == DataControlRowType.Header) 
       { 
        if (gvRow.Cells[1].Text == "Leaf_NAME") 
        { 
         gvRow.Cells.Remove(gvRow.Cells[1]); 
         GridViewRow gvHeader = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Insert); 
         TableCell headerCell0 = new TableCell() 
         { 
          Text = "Leaves Details", 
          HorizontalAlign = HorizontalAlign.Center, 
          RowSpan = 6 
         }; 

         gvHeader.Cells.Add(headerCell0); 

         grdcell.Controls[0].Controls.AddAt(0, gvHeader); 
        } 
       } 
+1

Isit ulaşılabilir kullanılan ?? – peter

+0

Aynı soruya @peter ile geldim. Şu anki çalışmamda birçok yerde benzer bir şey yapmak zorunda kaldım, ama karşıt yaklaşımı kullanıyorum: alt sütunları içeren bir TemplateField ile tek bir sütun. – ConnorsFan

+0

aynı sorudur? Kodunuz var mı? – peter

cevap

0

aşağıda gösterildiği gibi ben row data bound yaptıklarını, ben bir TemplateField kullanın. 2 subcolumns için, şu şekilde görünecektir: alt başlık halinde

<asp:TemplateField HeaderStyle-HorizontalAlign="Center"> 
    <HeaderTemplate> 
     <table runat="server" class="leafCommonHeader" align="center" cellpadding="0" cellspacing="0"> 
      <tr class="multiColumnMainHeader"> 
       <td colspan="2"> 
        <asp:Label runat="server" CssClass="leafHeader" Text="Leaf Details" /> 
       </td> 
      </tr> 
      <tr runat="server"> 
       <td class="leafNameField"> 
        <asp:LinkButton runat="server" CssClass="leafHeader" OnCommand="gvLeavesColumnSort" CommandArgument="LeafName" Text="Name" /> 
       </td> 
       <td class="leafNameField"> 
        <asp:LinkButton runat="server" CssClass="leafHeader" OnCommand="gvLeavesColumnSort" CommandArgument="LeafCode" Text="Code" /> 
       </td> 
      </tr> 
     </table> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <table runat="server" class="leafCommonItem" cellpadding="0" cellspacing="0"> 
      <tr> 
       <td class="leafNameField"> 
        <asp:Literal runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "LeafName")) %>' /> 
       </td> 
       <td class="leafCodeField"> 
        <asp:Literal runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "LeafCode") %>' /> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:TemplateField> 

bağlantı düğmeleri subcolumns sıralama orada uygulamak için vardır. Hücreleri ve etiketleri özelleştirmeye izin veren birkaç CssClass özniteliğini ekledim. CSS sınıfları leafNameField ve leafCodeField, örneğin sütunlarından birini ayarlayabilir.

Yasal Uyarı: sayfalama açık olan bu kod test edilmemiştir.

+0

Bu benim için çalışmaz – peter