2016-01-10 4 views
0

Код ниже получает выбранное значение из сетки ракурса строки к DropDownList с идентификатором dllinvoivceidDropDownList выбранного значения вопроса

protected void gridvoucher_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
try 
{ 
string commandName = e.CommandName.ToString().Trim(); 
GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);    
string custid = row.Cells[5].Text; 
string invoiceid = row.Cells[4].Text; 
GridViewRow gvRow = (GridViewRow)((Control)e.CommandSource).NamingContainer; 
Int32 rowind = gvRow.RowIndex; 
switch (commandName) 
{ 
case "EditVoucher": 
dllcust.SelectedValue = custid; 
dllinvoivceid.SelectedValue = invoiceid;      
MultiView1.ActiveViewIndex = 1; 
break;     
} 
} 
catch (Exception ex) 
{ 
Response.Write("Error: " + ex.Message); 
} 
} 

, как вы можете видеть ниже коды я поставил ограничить для dllinvoivceid на основе dllcust получить счета для только выбранный клиентом вопрос является выбранным значением я получаю для dllinvoivceid является первым результатом выбора команды в dllinvoivceid не значении из табличного

<div class="form-group"> 
<label for="InputName"> 
Customer Name</label> 
<div class="form-group"> 
<asp:DropDownList ID="dllcust" CssClass="form-control chosen-select" runat="server" AutoPostBack="True" DataSourceID="Sqls_Cust" DataTextField="Cust_Name" DataValueField="Cust_ID"></asp:DropDownList> 
<asp:SqlDataSource ID="Sqls_Cust" runat="server" ConnectionString="<%$ ConnectionStrings:ConnString %>" SelectCommand="SELECT [Cust_ID], [Cust_Name] FROM [Customer]"></asp:SqlDataSource> 
</div> 
</div> 
<div class="form-group"> 
<label for="InputName"> 
Invoice ID</label> 
<div class="form-group"> 
<asp:DropDownList ID="dllinvoivceid" CssClass="form-control chosen-select" runat="server" AutoPostBack="True" DataSourceID="Sqlds_Invoive" DataTextField="InvoiceID" DataValueField="InvoiceID"></asp:DropDownList> 
<asp:SqlDataSource ID="Sqlds_Invoive" runat="server" ConnectionString="<%$ ConnectionStrings:ConnString %>" SelectCommand="SELECT Invoice.InvoiceID FROM Customer INNER JOIN Invoice ON Customer.Cust_ID = Invoice.Cust_ID WHERE (Customer.Cust_ID = @Cust_ID)"> 
<SelectParameters> 
<asp:ControlParameter ControlID="dllcust" Name="Cust_ID" PropertyName="SelectedValue" /> 
</SelectParameters> 
</asp:SqlDataSource> 
</div> 
</div> 

ответ

1

Вы должны использовать SelectedIndex i.e

dllinvoivceid.SelectedIndex=dllinvoivceid.Items.IndexOf(ddlData.Items.FindByText(invoiceid)); 
+0

hi ddlData представляют что? – Ayman

+0

извините по ошибке – SAL

+0

dllinvoivceid.SelectedIndex = dllinvoivceid.Items.IndexOf (dllinvoivceid.Items.FindByText (invoiceid)); – SAL

Смежные вопросы