Gridview中的下拉列表

时间:2013-07-29 12:40:50

标签: asp.net gridview html-select

在我的网络应用程序中,我将下拉列表(“ddlState”)添加到我的 GridviewData(“gviewdata”与SQLDatasource绑定),通过 ITEMTEMPLATE 。它工作正常,但是drodown被添加为第一个单元格。 是否可以将其添加为最后一个值 ... ????

Page.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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

您正在自动生成列,然后将首先放置已定义的列。有很多方法可以实现这一目标,有一些:

1)您可以按正确的顺序指定DataSources中的每一列,然后将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);