Try this one:
.... ...
<EditItemTempla te>
<asp:dropdownli st id="deViews" runat="server"> </asp:dropdownlis t>
.... ....
</EditItemTemplat e>
.... ...
Assuming the datagrid id is dgrd1,
Sub dgrd1_ItemDataB ound (sender As Object, e As DataGridItemEve ntArgs)
Handles dgrd1.ItemDataB ound
If (e.Item.ItemTyp e = ListItemType.Ed itItem) Then
DropDownList ddl = CType (e.Item.FindCon trol ("deViews"), DropDownList)
Dim myConnection As SqlConnection = New
SqlConnection(C onfigurationSet tings.AppSettin gs("ConnectionS tring"))
Dim myCommand As SqlCommand = New SqlCommand("Get _All_TypeofOpti ons",
myConnection)
Dim dtrControlOptio n As New DataTable
Dim dropRowOption As DataRow
dtrControlOptio n.Columns.Add( _
New DataColumn("Typ eOption", GetType(String) ))
dtrControlOptio n.Columns.Add( _
New DataColumn("IdT ypeOption", GetType(String) ))
myConnection.Op en()
Dim Optionfile As SqlDataReader =
myCommand.Execu teReader(Comman dBehavior.Close Connection)
While Optionfile.Read ()
dropRowOption = dtrControlOptio n.NewRow()
dropRowOption(" TypeOption") = Optionfile.Item ("TypeOption ")
dropRowOption(" IdTypeOption") = Optionfile.Item ("IdTypeOption" )
dtrControlOptio n.Rows.Add(drop RowOption)
End While
ddl .DataSource = dtrControlOptio n
ddl .DataTextField = "TypeOption "
ddl .DataValueField = "IdTypeOpti on"
ddl .DataBind()
myConnection.Cl ose()
'BindOption()
Dim i As Integer
For i = 0 To ddl.Items.Count - 1
Dim opchk As String = ddl.Items(i).Va lue
If opchk = Session("typeof option") Then
ddl.Items(i).Se lected = True
End If
Next
End If
End Sub
"Stanley J Mroczek" <St************ *@discussions.m icrosoft.com> wrote in
message news:CF******** *************** ***********@mic rosoft.com...
I am trying to load a droplist in VB when the edit is clicked in a datagrid.
I tried to use OnDataBinding and loading the droplist in subroutine
"loaddd".
I get this error Object reference not set to an instance of an object.
Here is the code:
<asp:TemplateCo lumn runat="server" HeaderText="Id Type Option"
SortExpression= "IdTypeOpti on">
<itemtemplate >
<asp:label runat="server" Text='<%# DataBinder.Eval (Container.Data Item,
"TypeOption ") %>' />
<asp:label runat="server" ID="LlbTypeOpti on" Visible=False Text='<%#
DataBinder.Eval (Container.Data Item, "IdTypeOpti on") %>'/>
</itemtemplate>
<EditItemTempla te>
<asp:dropdownli st id="deViews" OnDataBinding=" loaddd"
runat="server"> </asp:dropdownlis t>
<asp:label runat="server" ID="IdTypeOptio n" Visible=False Text='<%#
DataBinder.Eval (Container.Data Item, "IdTypeOpti on") %>' />
</EditItemTemplat e>
</asp:TemplateCol umn>
Sub loaddd(ByVal sender As Object, ByVal e As System.EventArg s)
Dim myConnection As SqlConnection = New
SqlConnection(C onfigurationSet tings.AppSettin gs("ConnectionS tring"))
Dim myCommand As SqlCommand = New
SqlCommand("Get _All_TypeofOpti ons", myConnection)
Dim dtrControlOptio n As New DataTable
Dim dropRowOption As DataRow
dtrControlOptio n.Columns.Add( _
New DataColumn("Typ eOption", GetType(String) ))
dtrControlOptio n.Columns.Add( _
New DataColumn("IdT ypeOption", GetType(String) ))
myConnection.Op en()
Dim Optionfile As SqlDataReader =
myCommand.Execu teReader(Comman dBehavior.Close Connection)
While Optionfile.Read ()
dropRowOption = dtrControlOptio n.NewRow()
dropRowOption(" TypeOption") = Optionfile.Item ("TypeOption ")
dropRowOption(" IdTypeOption") = Optionfile.Item ("IdTypeOption" )
dtrControlOptio n.Rows.Add(drop RowOption)
End While
deViews.DataSou rce = dtrControlOptio n
deViews.DataTex tField = "TypeOption "
deViews.DataVal ueField = "IdTypeOpti on"
deViews.DataBin d()
myConnection.Cl ose()
BindOption()
Dim i As Integer
For i = 0 To deViews.Items.C ount - 1
Dim opchk As String = deViews.Items(i ).Value
Dim chk = deViews.DataVal ueField
If opchk = Session("typeof option") Then
deViews.Items(i ).Selected = True
End If
Next
End Sub
"Shiva" wrote:
Hi,
There are many ways to do it. One of them is to handle the ItemDataBound
event of the grid as given below:
if (e.Item.ItemTyp e == ListItemType.Ed itItem)
{
DropDownList ddl = (DropDownList) e.Item.FindCont rol ("deViews");
// Build a dataset or data table with data to populate the drop-down
ddl.DataSource = <datatable name>;
ddl.DataTextFie ld = <datatable col name>;
ddl.DataValueFi eld = <datatable col name>;
ddl.DataBind();
}
HTH
"Stanley J Mroczek" <St************ *@discussions.m icrosoft.com> wrote in
message news:8E******** *************** ***********@mic rosoft.com...
How do you load a dropdownlist when edit is clicked in a datagrid ?
<Columns>
<asp:BoundColum n DataField="Opti onDescription" ItemStyle-Wrap="True"
HeaderText="Opt ion Description"></asp:BoundColumn >
<asp:TemplateCo lumn runat="server" HeaderText="Id Type Option" ">
<itemtemplate >
<asp:label runat="server" Text='<%# DataBinder.Eval (Container.Data Item,
"TypeOption ") %>' />
<asp:label runat="server" ID="LlbTypeOpti on" Visible=False Text='<%#
DataBinder.Eval (Container.Data Item, "IdTypeOpti on") %>'/>
</itemtemplate>
<EditItemTempla te>
<asp:dropdownli st id="deViews" ?????="loaddd"
runat="server"> </asp:dropdownlis t>
<asp:label runat="server" Visible=False Text='<%#
DataBinder.Eval (Container.Data Item, "IdTypeOpti on") %>' />
</EditItemTemplat e>