0

在我的 Web 应用程序中,我通过 ITEMTEMPLATE 将Dropdownlist ("ddlState")添加到我的GridviewData("gviewdata" is bind with SQLDatasource ) 。它工作正常,但下拉列表被添加为第一个单元格。是否可以将其添加为最后一个值...????

页面.aspx:


 <asp:GridView ID="gviewPermissionHistory" runat="server" 
             Width="85%" onrowdatabound="gviewPermissionHistory_RowDataBound">
             <Columns>
               <asp:TemplateField HeaderText="State">
                  <ItemTemplate>
                    <asp:DropDownList ID="ddlStatus" runat="server" >
                       <asp:ListItem Text="Approved" Value="0"></asp:ListItem>
                       <asp:ListItem Text="Declined" Value="1"></asp:ListItem>
                    </asp:DropDownList>
                  </ItemTemplate>
               </asp:TemplateField>
             </Columns>
    <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <HeaderStyle BackColor="#3D5E8B" ForeColor="White" />

</asp:GridView>
4

2 回答 2

1

您必须在此网格视图中定义所有值。

<asp:GridView ID="gviewPermissionHistory" runat="server" 
             Width="85%" onrowdatabound="gviewPermissionHistory_RowDataBound">
             <Columns>
               <asp:BoundField DataField="Field1" />
               <asp:BoundField DataField="Field2" />
               <asp:TemplateField HeaderText="State">
                  <ItemTemplate>
                    <asp:DropDownList ID="ddlStatus" runat="server" >
                       <asp:ListItem Text="Approved" Value="0"></asp:ListItem>
                       <asp:ListItem Text="Declined" Value="1"></asp:ListItem>
                    </asp:DropDownList>
                  </ItemTemplate>
               </asp:TemplateField>
             </Columns>
    <RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <HeaderStyle BackColor="#3D5E8B" ForeColor="White" />
</asp:GridView>
于 2013-07-29T12:55:24.957 回答
0

您正在自动生成列,然后将首先放置定义的列。有很多方法可以归档这个,有一些:

1)您可以按正确的顺序指定数据源中的每一列,然后将其 ddlStatus放在最后一个位置。

<asp:GridView ID="gviewPermissionHistory" runat="server" 
         Width="85%" onrowdatabound="gviewPermissionHistory_RowDataBound">
         <Columns>
           <asp:BoundField DataField="MyFieldHere1" />
           <asp:BoundField DataField="MyFieldHere2" />
           <asp:BoundField DataField="MyFieldHere3" />
           <asp:TemplateField HeaderText="State">
              <ItemTemplate>
                <asp:DropDownList ID="ddlStatus" runat="server" >
                   <asp:ListItem Text="Approved" Value="0"></asp:ListItem>
                   <asp:ListItem Text="Declined" Value="1"></asp:ListItem>
                </asp:DropDownList>
              </ItemTemplate>
           </asp:TemplateField>
         </Columns>
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<HeaderStyle BackColor="#3D5E8B" ForeColor="White" />
</asp:GridView>

2)您可以更改后面代码中的顺序,例如:

var columnToMove = myGridView.Columns[1];
myGridView.Columns.RemoveAt(1);
myGridView.Columns.Insert(0, columnToMove);
于 2013-07-29T13:00:00.243 回答