Click here to Skip to main content
16,020,377 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
It has error when i click the ddlist in 2nd row in grid view

VB
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
       Dim sqlsize, a, b As String
       Dim rowcount As String

       rowcount = GridView1.Rows.Count

       ' If rowcount > 0 Or rowcount < 21 Then
       Dim rowIndex As Integer

       'rownumber = GridView1.Rows(rowIndex).Cells(0).Text
       Dim LabelL As Label = GridView1.Rows(rowIndex).Cells(1).FindControl("LabelID1")

       Dim row As GridViewRow = GridView1.SelectedRow

       Dim ddl1 As DropDownList = GridView1.Rows(rowIndex).Cells(3).FindControl("ddlSizeG")
       '  prodno = UCase(textbox2.Text)
       'Dim LabelL As Label = GridView1.Rows(rowIndex).Cells(4).FindControl("LabelL")
       'Dim LabelW As Label = GridView1.Rows(rowIndex).Cells(5).FindControl("LabelW")
       '   Label2.Text = FormatNumber(CDbl(ttloutput), "2")
       'If textbox4.Text = "" Then

       'Else
       'End If

       sqlsize = "select size_length, size_width from mpc_product_size where size_code = '" & ddl1.SelectedValue & "'"
       db.OpenTableMPC(sqlsize)

       If Not db.Eof Then
           'If ddlSize.SelectedValue = "NA" Then
           a = db.Item("size_length")
           Dim txtL As TextBox = GridView1.Rows(rowIndex).Cells(4).FindControl("txtL")

           txtL.Text = FormatNumber(CDbl(a), "0")
           b = db.Item("size_width")
           Dim txtw As TextBox = GridView1.Rows(rowIndex).Cells(5).FindControl("txtW")
           txtw.Text = FormatNumber(CDbl(b), "0")

           If ddl1.SelectedValue = "NA" Then
               txtL.ReadOnly = False
               txtw.ReadOnly = False
           Else
               ddl1.Focus()
               txtL.ReadOnly = True
               txtw.ReadOnly = True

               'txtLength.Text = "0"
               'txtWidth.Text = "0"
               'txtLength.Enabled = True
               'txtWidth.Enabled = True
               'txtLength.Focus()
           End If

       End If
   End Sub



back code
XML
<asp:TemplateField HeaderText="Size">
                          <EditItemTemplate>
                              <asp:DropDownList ID="ddlSizeG" runat="server" Font-Size="Small" AutoPostBack="true"
                                  SelectedValue='<%# Bind("Temp_Size") %>' DataTextField="Size_Code" DataValueField="Size_Code"
                                  AppendDataBoundItems="false" DataSourceID="sqlSize" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                              </asp:DropDownList>
                          </EditItemTemplate>
                          <ItemTemplate>
                              <asp:Label ID="LabelS" runat="server" Text='<%# Bind("Temp_Size") %>'></asp:Label>
                          </ItemTemplate>
                      </asp:TemplateField>
                      <asp:TemplateField HeaderText="Length">
                          <EditItemTemplate>
                              <asp:TextBox ID="txtL" runat="server" Text='<%# Bind("Temp_Length") %>' ReadOnly="true"
                                  Width="30px" MaxLength="10">
                              </asp:TextBox>
                          </EditItemTemplate>
                          <ItemTemplate>
                              <asp:Label ID="LabelL" runat="server" Text='<%# Bind("Temp_Length") %>'></asp:Label>
                          </ItemTemplate>
                      </asp:TemplateField>
                      <asp:TemplateField HeaderText="Width">
                          <EditItemTemplate>
                              <asp:TextBox ID="txtW" runat="server" Text='<%# Bind("Temp_Width") %>' ReadOnly="true"
                                  Width="30px" MaxLength="10">
                              </asp:TextBox>
                          </EditItemTemplate>
                          <ItemTemplate>
                              <asp:Label ID="LabelW" runat="server" Text='<%# Bind("Temp_Width") %>'></asp:Label>
                          </ItemTemplate>
                      </asp:TemplateField>
Posted
Comments
lg21155 8-Mar-12 7:58am    
Can you post the error message are you receiving?

(grow.NamingContainer, GridView)
The name grow is not declared.so how should i declare it?
Thanks.
 
Share this answer
 
what you miss is what row is selected.
So
VB
Dim ddl As DropDownList = DirectCast(sender, DropDownList)
Dim gRow__1 As GridViewRow = DirectCast(ddl.NamingContainer, GridViewRow)
Dim myGrid As GridView = DirectCast(grow.NamingContainer, GridView)
myGrid.SelectedIndex = gRow__1.RowIndex


Now the code nows to see what row is needed.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900