有一个datagrid(用vb.net编写的),有boundColumn,和editItemColumn两列,请问怎样才能实现单击editItemColumn的编辑按钮,boundColumn显示一个有"系统管理员,机关领导,普通用户"三个选项下拉列表???明天要交设计作业啊...请高手帮帮忙...

解决方案 »

  1.   

    <asp:DataGrid AutoGenerateColumns="False" Font-Size="12px" HorizontalAlign="Center" id="DataGrid1"
    runat="server" name="DataGrid1" DataKeyField="id">
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="用户">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# FormatIt(DataBinder.Eval(Container, "DataItem.fddl2")) %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:DropDownList id="fddl2" runat="server">
    <asp:ListItem Value="lv1" Selected="True" Text="系统管理员"></asp:ListItem>
    <asp:ListItem Value="lv2" Text="机关领导"></asp:ListItem>
    <asp:ListItem Value="lv3" Text="普通用户"></asp:ListItem>
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑">
    <HeaderStyle Width="20px"></HeaderStyle>
    </asp:EditCommandColumn>
    </Columns>
    </asp:DataGrid>
      

  2.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
        if(e.Item.ItemType==ListItemType.EditItem)
        {
            DropDownList ddl1=(DropDownList)e.Item.FindControl("ddl1"); 
            DropDownList ddl2=(DropDownList)e.Item.FindControl("ddl2");    
            DropDownList ddl3=(DropDownList)e.Item.FindControl("ddl3");   
            //然后分别数据绑定,或者是数据库读取,或者手动添加,或者是事先定义一个数组  
            //然后指定默认的选定项  
        }
    }