Dropdownlist SelectedIndex
Messages   Related Types
This message was discovered on microsoft.public.dotnet.framework.aspnet.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.
Post a new message to this list...

Maziar Aflatoun
Hi everyone,

I have the following code
<asp:TemplateColumn HeaderText="Administator" Visible="True"
ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="IsAdministator" Runat="server" text='<%#
FormatIsAdministator(DataBinder.Eval(Container.DataItem, "IsAdministator"))
%>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="NewIsAdministator" Runat="server"
CssClass="textbox1">
<asp:ListItem Value="0" Text="No"/>
<asp:ListItem Value="1" Text="Yes"/>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>

Does anyone know how in EditItemTemplate I can preselect the ListItem in my
DropDownList based on what's currently in the database (0 or 1 for
NewIsAdministator dropdownlist)?

I tried: SelectedIndex = '<%# DataBinder.Eval(Container.DataItem,
"IsAdministator") %>' but that failed

Thank you
Maz.

Reply to this message...
 
    
Davide Vernole [MVP] (VIP)
Maziar Aflatoun <Click here to reveal e-mail address> typed:
[Original message clipped]

Did you try in the method delegate to the ItemDataBound event ? Try this:

if(e.Item.ItemType == ListItemType.EdiItem)
{
((DropDownList)e.Item.FindControl("NewIsAdministator")).SelectedValue =
((DataRowView)e.Item.DataItem).Row["IsAdministrator"];
}

--
Davide Vernole
MVP ASP/ASP.NET
Microsoft Certified Solution Developer

Reply to this message...
 
    
Maziar Aflatoun
I tried it

((DropDownList)e.Item.FindControl("NewIsAdministator")).SelectedIndex =
(int)((DataRowView)e.Item.DataItem).Row["IsAdministrator"];
and it still fails.

I can't figure out why it's complaining

Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Specified cast is not valid.

Source Error:

Line 137: ((WebControl)e.Item.Cells[8].Controls[0]).CssClass = "button1";
Line 138:
Line 139:
((DropDownList)e.Item.FindControl("NewIsAdministator")).SelectedIndex =
(int)((DataRowView)e.Item.DataItem).Row["IsAdministrator"];
Line 140:
Line 141:

Any idea why it's saying that?

Thank you
Maz.

"Davide Vernole [MVP]" <Click here to reveal e-mail address> wrote in message
news:Click here to reveal e-mail address...
[Original message clipped]

Reply to this message...
 
    
Davide Vernole [MVP] (VIP)
Maziar Aflatoun <Click here to reveal e-mail address> typed:
[Original message clipped]

Ok, I forgot a little thing. This is the correct piece of code (I hope so):

if(e.Item.ItemType == ListItemType.EdiItem)
{
((DropDownList)e.Item.FindControl("NewIsAdministator")).SelectedValue =
((DataRowView)e.Item.DataItem).Row["IsAdministrator"].ToString();
}

As you know, in a DropDownList, the SelectedValue property is a string, so
we have to convert the value received from the DataItem to a string value.

--
Davide Vernole
MVP ASP/ASP.NET
Microsoft Certified Solution Developer

Reply to this message...
 
 
System.ComponentModel.Container
System.Data.DataRowView
System.InvalidCastException
System.Web.UI.DataBinder
System.Web.UI.WebControls.DropDownList
System.Web.UI.WebControls.HorizontalAlign
System.Web.UI.WebControls.ListItem
System.Web.UI.WebControls.ListItemType
System.Web.UI.WebControls.TemplateColumn
System.Web.UI.WebControls.WebControl




Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
 
 Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us - Terms of Use - Privacy Policy - www.dotnet247.com