GridView中绑定DropDownList并用DropDownList显示对应字段数据;

  1. HeaderTemplateRowDataBound设置GirdView 的 DataKeyNames="Name" 即数据源中的字段,我设置的是:Name; 
  2. 添加GridView事件:

    RowDataBound 

  3. 在事件事首先判断行的类型是不是数据行;因为第一行通常是 

    HeaderTemplate;(图中的第一行就是表头,如编号,标识码,商品名称。。。。)

  4. 在当前行中查换DropDownList的Id;DropDownList ddlInType = e.Row.FindControl("ddlInType") as DropDownList; 

    设置DropDownList的数据源及绑定的字段;

    然后再取出当数据库中的值,与DataKeys绑定;(上面提到的 DataKeyNames="Name")

 

    

       

protected void gvInBillList_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DropDownList ddlInType = e.Row.FindControl("ddlInType") as DropDownList;
                ddlInType.DataSource = new InBillManager().GetDropDownList();
                ddlInType.DataValueField = "Id";
                ddlInType.DataTextField = "Name";
                ddlInType.DataBind();

                this.SelectDropDownList(ddlInType, this.gvInBillList.DataKeys[e.Row.RowIndex]["Name"].ToString());
            }

        }

      

public void SelectDropDownList(DropDownList objDropDownList, string valueOrText)
        {
            objDropDownList.ClearSelection();

            ListItem objLI = objDropDownList.Items.FindByValue(valueOrText);

            if (objLI == null)
            {
                objLI = objDropDownList.Items.FindByText(valueOrText);
            }

            if (objLI != null)
            {
                objDropDownList.ClearSelection();

                objLI.Selected = true;
            }

       }

        

时间: 2024-09-20 07:27:46

GridView中绑定DropDownList并用DropDownList显示对应字段数据;的相关文章

隐藏-Gridview 中绑定radiobuttonlist的问题

问题描述 Gridview 中绑定radiobuttonlist的问题 这个是我用Gridview前两列是绑定的,第三列是radiobuttonlist, 想实现单击详细的1.1.1(第一行)时,项目id1.1.1(第二行)显示,其他行隐藏, 单击详细1.1.1.7(第二行)时,第三行显示 再单击第一行的1.1.2时, 第二行.第三行取消选中并隐藏,第四行显示. 我不知道我表达清楚了没有如何实现?? 我做了个循环总是会丢掉1.1.1.7 依旧是显示的

gridview中当鼠标经过文字显示下划线并变色?怎么解决啊

问题描述 gridview中当鼠标经过文字显示下划线并变色?怎么解决啊 gridview中当鼠标经过文字显示下划线并变色?怎么解决啊 解决方案 直接用超链接不就好啦

textview-一个Activity创建数据库,另一个Activity中调用数据库并用TextView显示

问题描述 一个Activity创建数据库,另一个Activity中调用数据库并用TextView显示 第一个Activity(创建数据库): Db db = new Db(this); SQLiteDatabase dbWrite = db.getReadableDatabase(); ContentValues cv = new ContentValues(); cv.put("name", "小张"); cv.put("sex", "

怎么实现点击GridView中一个按钮可以获取这一行的数据,控件都是在模板中的

问题描述 如题:怎么实现点击GridView中一个按钮可以获取这一行的数据,控件都是在模板中的想做一个更新操作如图,点击修改修改这一行数据,控件都在模板里求大神 解决方案 解决方案二:按钮设置命令后,在命令执行的事件中,通过Convert.ToInt32(e.CommandArgumentCo)获取行索引,这样你通过索引就可以访问到数据集中指定索引的row,就可以访问其中各个单元格了解决方案三:只要你点击可以拿到行号或者唯一标识的行id,其他不就都有了解决方案四:引用1楼bdmh的回复: 按钮设

DataSet中的数据在与GridView中绑定数据中间的转换

问题描述 我从数据库里读取一个字段,它的类型是int类型.然后我生成DataSet,但是我绑定到GridView上时,我想让他原本显示的数字换成文字,比如,DataSet.Rows[0]["Field1"]中的1,就显示为"一等",2就显示为"二等",各位能帮忙想个思路么..此问题关键就是字段中的数据类型为int类型,而我要显示的是string类型...在DataSet和最终显示的GridView控件中有一个转换的过程,不知能不能实现.. 解决方

repeater、gridview 在绑定时判断判断显示不同的行样式或文本_实用技巧

一:repeater或DataList控件 1.更改纯文本内容等 如果数据库里学生信息表中的sex字段用0和1来表示男女 但我们想repeat控件绑定后性别显示男或女而不是显示0或1 方法一:当然我们可以在SQL语句里判断并且转换 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo 方法二:就是用到repeat 控件ItemDataBound()事件 前台 复制代码 代码如下: <asp:Repearter

如何取出gridview中绑定的Label的值(Label是单个字母)

问题描述 如题..菜鸟一个,求稍微详细点的代码..多谢 解决方案 解决方案二:gridview是什么?解决方案三:Labellabel=(Label)gridView.Rows[i].Cells[j].FindControl("Label1");strings=label.Text;解决方案四:引用2楼gxingmin的回复: Labellabel=(Label)gridView.Rows[i].Cells[j].FindControl("Label1");stri

GridView中的DropDownList使用问题

问题描述 有一个数据表一共以下几个字段:StuNo,StuName,ShuXing1,ShuXing2.需要把这个数据表与GridView控件绑定显示出来,显示界面要求把ShuXing1和ShuXing2合并成一个字段,用下拉菜单的方式表示出来,也就是显示三个字段:StuNo,StuName,ShuXing.遇到的问题:我在GridView中添加了新列TemplateField,在其ItemTemplate中添加了下拉菜单DropDownList控件,但是不知道如何往这个控件绑定数据,因为每条数

gridview中添加dropdownlist后实现数据库更新

问题描述 gridview中添加dropdownlist后实现数据库更新 背景描述:gridview已经通过选择数据源实现了数据绑定,并选择了编辑操作,并在gridview中添加dropdownlist. 目的:点击编辑,然后选择dropdownlist,然后在数据库中更新该row(只需要更新update dropdownlist所选),并在当前gridview中显示最终结果. DropDownList ddl = GridView1.Rows[e.RowIndex].FindControl("