张锋的博客

http://www.sjzrc.cn(石家庄人才)

张锋ID:hbzxf
141502次访问,排名519好友0人,关注者0
hbzxf的文章
原创 54 篇
翻译 0 篇
转载 3 篇
评论 157 篇
张锋的公告


朋友自远方来,不亦乐乎


个人简介
网名:hbzxf(阿好)
QQ:6055538
QQ群:5461477
MSN:hbzf@hotmail.com

来自:石家庄  | 管理 | 留言

最近评论
ljm2008:有没有第二节拿出来分享一下啊
liquanzhi11:想与本站连接一下
[url="http://www.hebei01.com]河北生活信息网[/url]
chenyanpeng2003:服了你了 点一个页面弹出一个广告 你这样做广告只有让人厌烦!!
jxq19881013:很感谢你,你的相当的实用.
Backli:http://blog.csdn.net/Backli/

友情连接吧

你的我已经添加了
文章分类
收藏
相册
BLOG友情连接
Eric's Blog[水王]
不平凡小高
千山一鸟[帅哥]
最爱白菜[蔬菜]
木子MM[美女]
牛人三哥[张老三]
石家庄人才
蛙蛙池塘[动物]
阿好.Net[野人]
阿赖.COM[赖皮]
最爱网址
CODEPROJECT
DotNetJunkies
MSDN中文
MSDN英文
Weblogs @ ASP.NET
博客堂
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 使用DataGrid动态绑定DropDownList收藏

新一篇: ASP.NET 的亲密朋友之--JavaScript | 旧一篇: DataGrid删除确认及Item颜色交替

使用DataGrid动态绑定DropDownList

hbzxf (阿好)
http://www.cnblogs.com/hbzxf

        简单的使用模板列绑定DropDownList,初学者想必都会了,但有时候,我们要做的就是在编辑的时候想让某一列定制为DropDownList,并且根据正常情况下显示的值自动变换DropDownList中所选的值,然后保存选择后的值到数据库或XML文件,其实要做到这样的功能并不难,只要我们学会使用DataGrid的DataGrid1_ItemDataBound事件就行了,跟我来做个例子。

        //检索数据库的函数
          public DataSet GetZcbd()
          {
            try
           {
            DataSet ds=new DataSet();   
            string searchString="select id,yy,bj from zc";
            da=new OleDbDataAdapter(searchString,conn);
            da.Fill(ds,"yy");    
             return ds;
           }
           catch
           {
            return null;    
           }  
          }

         //绑定DataGrid   
        private void BindGrid()
          {
           DataSet ds = new DataSet();
           ds = us.GetZcbd();
           if (ds!=null)
           {
            this.DataGrid1.DataSource = ds;
            this.DataGrid1.DataBind();
           }
           else
           {
            msg.Alert("加载数据错误!",Page);
           }
          }
       
        绑定好DataGrid以后,设定模板列,让其正常显示下为Label,并绑定为数据库中一ID值,在编辑状态下为DropDownList,并绑定为数据库中一Name值,我们现在要做的就是当我们选择编辑时根据Label的值自动从数据库中取出编号为ID值的姓名,并用DropDownList默认选中。(注释:为了方便大家学习,我给出一个简单代码的例子,供大家参考)

          private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
             if (e.Item.ItemType == ListItemType.EditItem)
             {
                 DataRowView drv = (DataRowView)e.Item.DataItem;
              string current = drv["label1"].ToString();
              DropDownList ddl = (DropDownList)e.Item.FindControl("ddl");
              ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(current));
             }
             if ((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem))
  
         {
              Label t = (System.Web.UI.WebControls.Label)e.Item.FindControl("label1");
              string current = this.BindDDL(int.Parse(t.Text));
              e.Item.Cells[1].Text = current;
             }
            }

            private string BindDDL(int ddd)
            {
             string sss = "";
             if (ddd==1)
             {
              sss="张三";
              return sss;
             }
             else
             {
                 sss="李四";
              return sss;
             }
            }

   注释:msg为一个类似WinForm的messagebox对话框,不必理会。可以使用label.Text代替

代码很乱,敬请谅解!

2004.4.2

发表于 @ 2004年05月31日 11:39:00|评论(loading...)|编辑

新一篇: ASP.NET 的亲密朋友之--JavaScript | 旧一篇: DataGrid删除确认及Item颜色交替

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 张锋