【问题标题】:How to show item in dropdownlist as being selected when we have corresponding datatextfield from gridview selected row当我们从gridview选定行有相应的datatextfield时,如何将下拉列表中的项目显示为被选中
【发布时间】:2013-08-13 19:22:05
【问题描述】:

代码

DataSet ds = _dalEquipmentwiseCheckList.getEquipmentName();

ddEquipmentName.DataSource = ds.Tables[0].DefaultView;

ddEquipmentName.DataTextField = ds.Tables[0].Columns[1].ToString();
ddEquipmentName.DataValueField = ds.Tables[0].Columns[0].ToString();
ddEquipmentName.DataBind();

我想要的是:在GridView中选择一行时,对应的设备名称 应该在下拉列表中被选中:

var selectRow = MyGridView.SelectedRow;

ddEquipmentName.SelectedValue = selectRow.Cells[2].Text;
****//this is giving me error****

【问题讨论】:

标签: c# asp.net gridview datatextfield


【解决方案1】:

所选值不能以这种方式工作。试试这个:

ddEquipmentName.SelectedIndex = ddEquipmentName.Items.IndexOf(ddEquipmentName.Items.FindByText(selectRow.Cells[2].Text));

【讨论】:

  • 您的代码工作正常,因为我使用 FindByText 代替 FindByValue 谢谢
【解决方案2】:

你可以试试:

GridViewRow selectRow = MyGridView.SelectedRow;    
ddEquipmentName.selectedItem.Text = selectRow.Cells[2].Text;

【讨论】:

    【解决方案3】:
     void setDataContext()
    {
        var selectRow = GridEquipmentChechList.MyGridView.SelectedRow;
        if (selectRow != null)
        {
            txtECNumber.Text = selectRow.Cells[1].Text;
            **ddEquipmentName.SelectedIndex = ddEquipmentName.Items.IndexOf(ddEquipmentName.Items.FindByText(selectRow.Cells[2].Text));**
            **ddDescription.SelectedIndex = ddDescription.Items.IndexOf(ddDescription.Items.FindByText(selectRow.Cells[3].Text));**
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      相关资源
      最近更新 更多