zoukankan      html  css  js  c++  java
  • 在ListView中使用DropDownList绑定数据……好麻烦

    在Aspx页中的代码:

    <EditItemTemplate>
        
    <asp:DropDownList ID="DropDownList1" runat="server">
            
    <asp:ListItem Value=""></asp:ListItem>
            
    <asp:ListItem Value=""></asp:ListItem>
        
    </asp:DropDownList>
    </EditItemTemplate>

     添加事件:ItemUpdating和ItemCreated事件

     protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
            {
                
    //在更新之前绑定DropDownList
                DropDownList ddGender = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("DropDownList1");
                e.NewValues[
    "Gender"= ddGender.SelectedValue;
            }
    protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
            {
                
    if (e.Item.ItemType == ListViewItemType.DataItem)
                {
                    DropDownList ddlGender 
    = (DropDownList)e.Item.FindControl("DropDownList1");
                    
    if (ddlGender != null)
                    {
                        ListViewDataItem lvDataItem 
    = (ListViewDataItem)e.Item;
                        DataRowView rowView 
    = (DataRowView)lvDataItem.DataItem;
                        
    if (rowView != null)
                        {
                            var userRow 
    = (DataSetUsers.UsersRow)rowView.Row;
                            ddlGender.SelectedValue 
    = userRow.Gender;
                        }
                    }
                }
            }
     protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
            {
                
    if (e.Item.ItemType == ListViewItemType.DataItem)
                {
                    DropDownList ddlLinkType 
    = (DropDownList)e.Item.FindControl("DropDownList1");
                    ListViewDataItem lvDataItem 
    = (ListViewDataItem)e.Item;
                    DataRowView rowView 
    = (DataRowView)lvDataItem.DataItem;
                    
    if (ddlLinkType != null && rowView != null)
                    {
                        var linksRow 
    = (DAL.DataSetLinks.T_LinksRow)rowView.Row;
                        ddlLinkType.SelectedValue 
    = linksRow.LinkType;
                    }
                }
            }

            
    protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
            {
                DropDownList ddlLinkType 
    = (DropDownList)e.Item.FindControl("DropDownList1");
                e.Values[
    "LinkType"= ddlLinkType.SelectedValue;
            }

            
    protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
            {
                DropDownList ddlLinkType 
    = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("DropDownList1");
                e.NewValues[
    "LinkType"= ddlLinkType.SelectedValue;
            }
        }
  • 相关阅读:
    【转】点集 凸包
    【转】Word中使用Endnote很卡解决方案
    【转】一个程序员的面试经验之谈
    【转】 std list/vector sort 排序
    std::numeric_limits<int>::max() error C2589: '(' : illegal token on right side of '::' 解决办法
    【转】Log4cpp 封装
    【转】 log4cpp 的使用
    遍历目录 删除目录中包含指定字符的文件和文件夹
    mysql主从复制架构
    mysql分区功能详细介绍,以及实例
  • 原文地址:https://www.cnblogs.com/zhuiyi/p/2042784.html
Copyright © 2011-2022 走看看