无法获得下拉值 [英] not able to get the dropdown values

查看:80
本文介绍了无法获得下拉值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我无法在gridview_rowcommand中获得下拉值.
那是什么问题呢?.
请帮助这非常紧急.
看看我的代码.

Hi,
I am not able to get the dropdown values in gridview_rowcommand.
what it the problem in that..?
Pls. help this is very urgent.
see my code.

<asp:TemplateField HeaderText="From Period" HeaderStyle-HorizontalAlign="Left">
                                  <edititemtemplate>
                                      <asp:DropDownList ID="cmbFrm" runat="server" Style="width: 150px;"
                                          DataSourceID="dsOtherDept1" DataTextField="FromPeriod" DataValueField="FromPeriod"
                                          AppendDataBoundItems="true">
                                          <asp:ListItem Text="Please Select" Value="">

                                  </edititemtemplate>
                                  <itemtemplate>
                                      <asp:Label ID="lblFrm" runat="server" Text=''<%# Eval("FromPeriod") %>''>
                                  </itemtemplate>
                                   <HeaderStyle HorizontalAlign="Left" />

                               <asp:TemplateField HeaderText="To Period" HeaderStyle-HorizontalAlign="Left">
                                  <edititemtemplate>
                                      <asp:DropDownList ID="cmbTo" runat="server" Style="width: 150px;"
                                          DataSourceID="dsOtherDept1" DataTextField="ToPeriod" DataValueField="ToPeriod"
                                          AppendDataBoundItems="true">
                                          <asp:ListItem Text="Please Select" Value="">

                                  </edititemtemplate>
                                  <itemtemplate>
                                      <asp:Label ID="lblTo" runat="server" Text=''<%# Eval("ToPeriod") %>''>
                                  </itemtemplate>
                                   <HeaderStyle HorizontalAlign="Left" />

                              <asp:TemplateField HeaderText="Edit" ShowHeader="False" HeaderStyle-HorizontalAlign="Left">
                                  <edititemtemplate>
                                      <asp:LinkButton ID="lbkUpdate" runat="server" CausesValidation="True" CommandName="Update"  CommandArgument=''<%#Eval("emp_number") %>'' Text="Update">
                                      <asp:LinkButton ID="lnkCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel">
                                  </edititemtemplate>
                                  <itemtemplate>
                                      <asp:LinkButton ID="lnkEdit" runat="server" CausesValidation="False" CommandName="Edit"  CommandArgument=''<%#Eval("emp_number") %>'' Text="Edit">
                                  </itemtemplate>
                                  <HeaderStyle HorizontalAlign="Left" />

                              <asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />


                  <asp:SqlDataSource ID="dsOtherDept1" runat="server"
                          ConnectionString="<%$ConnectionStrings:MPP%>"
                          SelectCommand="Select distinct V.emp_number as emp_number,emp_name+'' ''+emp_initial as name,emp_designation,Manpower_Division_ID,FromPeriod, ToPeriod from idpeapp.dbo.view_employee V inner join OtherDeptEmp O on V.emp_number = O.emp_number order by name">







Protected Sub grdDeptEmp_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grdDeptEmp.RowCommand
       ''Dim list As DropDownList = TryCast(e.Row.FindControl("cmbFrm"), DropDownList)
       ''cmbFrm.SelectedIndex = cmbFrm.Items.IndexOf(cmbFrm.Items.FindByValue(DataBinder.Eval(e.Row.DataItem, "FromPeriod")))
       Dim emp_number As Integer = Convert.ToInt32(e.CommandArgument)
       Dim cmbFrm As DropDownList = DirectCast(grdDeptEmp.FindControl("cmbFrm"), DropDownList)
       If e.CommandName = "update" Then
           ''Dim list As DropDownList = TryCast(e.Row.FindControl("cmbFrm"), DropDownList)
           ''get the EmpNo of the clicked row
           ''dsOtherDept1.UpdateCommand  = "update OtherDeptEmp set FromPeriod=''" &  & "'',ToPeriod=''" & & "'' where emp_number= ''" & EmpNo & "''"
           ''dsOtherDept1.DataBind()
       End If
   End Sub

推荐答案

ConnectionStrings:MPP%> SelectCommand =选择不同的V.emp_number作为emp_number,emp_name +''''+ emp_initial作为名称,emp_designation,Manpower_Division_ID,FromPeriod,从idpeapp.dbo.view_employee到ToPeriod >
ConnectionStrings:MPP%>" SelectCommand="Select distinct V.emp_number as emp_number,emp_name+'' ''+emp_initial as name,emp_designation,Manpower_Division_ID,FromPeriod, ToPeriod from idpeapp.dbo.view_employee V inner join OtherDeptEmp O on V.emp_number = O.emp_number order by name">







Protected Sub grdDeptEmp_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grdDeptEmp.RowCommand
       ''Dim list As DropDownList = TryCast(e.Row.FindControl("cmbFrm"), DropDownList)
       ''cmbFrm.SelectedIndex = cmbFrm.Items.IndexOf(cmbFrm.Items.FindByValue(DataBinder.Eval(e.Row.DataItem, "FromPeriod")))
       Dim emp_number As Integer = Convert.ToInt32(e.CommandArgument)
       Dim cmbFrm As DropDownList = DirectCast(grdDeptEmp.FindControl("cmbFrm"), DropDownList)
       If e.CommandName = "update" Then
           ''Dim list As DropDownList = TryCast(e.Row.FindControl("cmbFrm"), DropDownList)
           ''get the EmpNo of the clicked row
           ''dsOtherDept1.UpdateCommand  = "update OtherDeptEmp set FromPeriod=''" &  & "'',ToPeriod=''" & & "'' where emp_number= ''" & EmpNo & "''"
           ''dsOtherDept1.DataBind()
       End If
   End Sub


不,您无能为力对我们来说并不紧迫.

到底发生了什么.回邮时您的保管箱值是否数据绑定?如果是这样,他们将失去自己的价值.如果不是,那您是访问该对象而不是值吗?
No, your inability to do your job is not urgent to us.

What happens exactly. Are your drop box values databound on postback ? If so, they will lose their values. If not, are you getting access to the object and not the value, or what ?


如果要在onrowcommand事件下获取dropdownlist对象.首先,您必须维护rowindex.它将返回您单击的特定行.因此,请创建一个ViewState Type属性以维护行索引.

公共int RowIndex
{
获取
{
返回ViewState ["RowIndex"]!= null吗? Convert.ToInt32(ViewState ["RowIndex"]):-1;
}
设置
{
ViewState ["RowIndex"] =值;
}
}
当您单击编辑"或删除"按钮时.将rowindex分配到Property("RowIndex")

之后,通过使用以下代码行,您将在onrowcommand事件下获得dropdownlist对象.

if(RowIndex!= -1)
{
DropDownList cmbTo =(DropDownList)GvRating.Rows [RowIndex] .FindControl("cmbTo");
if(cmbTo!= null)
{
//在这里您可以编写语句.
}
}
If you want to get the dropdownlist object under onrowcommand event.first you will have to maintain the rowindex.which will return the particular row clicked by you.so please create a ViewState Type Property to maintain the row index.

public int RowIndex
{
get
{
return ViewState["RowIndex"] != null ? Convert.ToInt32(ViewState["RowIndex"]) : -1;
}
set
{
ViewState["RowIndex"] = value;
}
}
when you will click on edit or delete button. Assign the rowindex into Property(" RowIndex")

after that By using this follwoing line of code you will get the dropdownlist Object under onrowcommand event.

if(RowIndex != -1)
{
DropDownList cmbTo = (DropDownList) GvRating.Rows[RowIndex].FindControl("cmbTo");
if(cmbTo!= null)
{
// Here you can write your statement.
}
}


这篇关于无法获得下拉值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆