datagrid加下拉列表dropdownlist

 datagrid中代码:

<asp:datagrid id="dgList" runat="server" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
                                HorizontalAlign="Center" PageSize="5" AutoGenerateColumns="False" GridLines="Horizontal" CellPadding="1" BackColor="White"
                                BorderWidth="1px" BorderStyle="None" BorderColor="#E7E7FF" Width=100%  OnItemDataBound="DataGrid1_ItemDataBound">
                                <FooterStyle ForeColor="#4A3C8C" BackColor="#B5C7DE"></FooterStyle>
                                <SelectedItemStyle Font-Bold="True" ForeColor="#F7F7F7" BackColor="#738A9C"></SelectedItemStyle>
                                <AlternatingItemStyle BackColor="#F7F7F7"></AlternatingItemStyle>
                                <ItemStyle HorizontalAlign="Center" ForeColor="#4A3C8C" BackColor="#E7E7FF"></ItemStyle>
                                <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="#F7F7F7" BackColor="#4A3C8C"></HeaderStyle>
                                <Columns>
     <asp:templatecolumn HeaderText="状态">
        <itemtemplate>
            <asp:dropdownlist  id="ItemDropDown" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDown_SelectedIndexChanged"/>
        </itemtemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn>
        <ItemTemplate>
            <asp:Button id="SaveButton" Visible="false" runat="server"  CommandName="save" Text="保存"></asp:Button>
        </ItemTemplate>
    </asp:templatecolumn>
    <PagerStyle ForeColor="#4A3C8C" BackColor="#E7E7FF" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
private void InitializeComponent()
        {
            this.dgList.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dgList_ItemCommand);
        }

  protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem ||
               e.Item.ItemType == ListItemType.Item)
            {
                string[] options = { "", "已通知", "变更邮箱中", "联系不上", "商户要注销" };

                DropDownList list = (DropDownList)e.Item.FindControl("ItemDropDown");
                list.DataSource = options;
                list.DataBind();

                TableCell cell = list.Parent as TableCell;
                DataGridItem item = cell.Parent as DataGridItem;

                int index = item.ItemIndex;
                list.SelectedValue = item.Cells[1].Text;
            }
        }
        
 protected void DropDown_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList list = (DropDownList)sender;

            TableCell cell = list.Parent as TableCell;
            DataGridItem item = cell.Parent as DataGridItem;

            int index = item.ItemIndex;
            string content = item.Cells[12].Text;
           // DropDownList down = (DropDownList)item.FindControl("ItemDropDown");
            string checkState = list.SelectedValue.Trim();

            object obj = item.Cells[13].FindControl("queryButton");
            if (obj != null)
            {
                Button lb = (Button)obj;
                lb.Visible = true;//动下拉列表就显示保存按钮
            }
        }
        
 private void dgList_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            string spid = e.Item.Cells[2].Text.Trim();
            string crt_etime = e.Item.Cells[8].Text.Trim();
            string state = e.Item.Cells[12].Text.Trim();
          
            try
            {
                if (e.CommandName == "save") ;
                …………………………//保存
            }
            catch (Exception eSys)
            {
                WebUtils.ShowMessage(this.Page, "保存数据失败!" + eSys.Message);
            }
        }

 

posted on 2014-07-09 17:47  爱学习的小灵子  阅读(2217)  评论(0编辑  收藏  举报