我想实现以下两个功能!问题1.----------------------
我已经在DATAGRID里加入了DROPDOWNLIST控件!我用edititemtemplate实现了在每条记录后面都有一个"修改",点击"修改",前面的字段都变成DropDownList,可以让用户重新选择,进行修改!
现在问题是:
如:
用户    性别     功能
AA      男       修改
BB      男       修改
CC      女       修改
DD      男       修改当点击"BB"记录后面的"修改",用户这一栏的DropDownList变为AA,我有什么办法让DropDownList默认为"BB",点"CC"记录那DropDownList默认为"CC",
如:DorpDownList是
AA
BB
CC
DD----------------------------------------------------------------------问题2,
有什么方法让用户登录后(也就是session("user")<>"")才能点击"修改"这个按纽啊?

解决方案 »

  1.   

    我提个建议啊
    Grid自己的编辑我自己感觉不好用。而且不太好处理。我建议把它分开。
    也就是在字段的任意一项比如说是“用户”加个链接。直接到修改页面。
    然后在修改页面控制权限就简单多了。
    我只是提个建议啊。
      

  2.   

    参考
    http://www.cnblogs.com/lovecherry/archive/2005/03/25/125525.html
      

  3.   

    if(session["user"]!="")
    {
    this.DATAGRID.Columns[0].Visible=false;//编辑按纽的位置
    }
      

  4.   

    if(session["user"]!="")
    {
    this.DATAGRID.Columns[0].Visible=false;//编辑按纽的位置
    }这个方法不行啊~~~~~怎么办?
      

  5.   

    你指定一下,DropDownList 的 SelectedIndex 属性!
      

  6.   

    if(session["user"]==null)
    {
    this.DATAGRID.Columns[i].Visible=false;//i为编辑按纽的位置
    }
      

  7.   

    if(session["user"]==null)
    {
    this.DATAGRID.Columns[i].Visible=false;//i为编辑按纽的位置
    }这段代码应该加在什么地方?
      

  8.   

    1.在编辑事件里面,对DropDownList做默认选择处理
    DropDownList myList = (DropDownList)this.DataGrid1.Items[e.Item.ItemIndex].FindControl("控件名");
    myList.SelectedValue = "欲选择的值";
    2.还在是编辑事件里,先判断用户是否有登录,有则继续,无则退出编辑事件
      

  9.   

    VB怎么写?
    DropDownList myList = (DropDownList)this.DataGrid1.Items[e.Item.ItemIndex].FindControl("控件名");
    myList.SelectedValue = "欲选择的值";这句VB怎么写啊?
      

  10.   

    VB怎么写??
    基本写法一样,无非就是前面的定义不同
    dim myList as DropDownList = ...
    自己尝试一下。记得好像是 Ctype...
      

  11.   

    dim myList as DropDownList = ctype(this.DataGrid1.Items(e.Item.ItemIndex).FindControl("控件名"),DropDownList)
    myList.SelectedValue = "欲选择的值"
      

  12.   

    FindControl
    可以实现
    我用过
      

  13.   

    那我怎么把dropdownlist的值设为原来选的那个?
    例如:
    dropdownlist为
    aa
    bb
    cc
    dd现在我字段"name"的值为cc
    dim myList as DropDownList = ctype(this.DataGrid1.Items(e.Item.ItemIndex).FindControl("name"),DropDownList)
    然后我想让mylist的默认值为当前的值"cc",那该怎么写?
      

  14.   

    现在我字段"name"的值为cc
    dim myList as DropDownList = ctype(this.DataGrid1.Items(e.Item.ItemIndex).FindControl("name"),DropDownList)
    然后我想让mylist的默认值为当前的值"cc",那该怎么写?
    -----------------------------------myList.SelectedValue = "cc"
      

  15.   

    myList.Items.FindByText("cc").Selected = true;
      

  16.   

    不行啊!!!!!!!!现在问题是找不到DropDownlist啊?
    出现:
    未将对象引用设置到对象的实例
      

  17.   

    1:
    private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    DropDownList dpName = (DropDownList)e.Item.FindControl("dpName");
    dpName.SelectedValue = e.Item.ItemIndex.ToString();
    }
    这里是将当前的ItemIndex符给了DropDownList,前提就是DropDownList里头必须含有该值。具体你可以改一下,获取你需要的值;
    2:
       在绑定数据完后,加上
    if(session["user"]!="")
    {
    this.DATAGRID.Columns[0].Visible=false;//编辑按纽的位置
    }
      

  18.   

    呵呵,终于可以了!原来
    dim lst as dropdownlist = ctype(e.item.FindControl("mydd1"),dropdownlist)
    改为
    dim lst as dropdownlist = ctype(mydatagrid.items(e.item.itemindex).FindControl("mydd1"),dropdownlist)
    不知怎么回事?原来的那一句我在datagrid_updatecommand()中也用过!那时是可以的!这里就找不到!哎!