Hi,
I am using Template fields, but it seems that they are automatically put
on different rows :
<asp

etailsView ID="DetailsView1" runat="server"
DataSourceID="SqlDataSource1"
DataKeyNames="OpportunityID"
AutoGenerateRows="False">
<Fields>
<asp:BoundField HeaderText="ID"
DataField="OpportunityID" ReadOnly="True" >
<ItemStyle Height="24px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Product Type"
SortExpression="ProductType">
<ItemTemplate>
<asp:Label ID="lblProductType"
Text='<%# Eval("ProductType") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp

ropDownList
ID="ddlProductType" runat="server" DataSourceID="SqlDataSource2"
DataTextField="ProductType" DataValueField="ProductTypeID"
SelectedValue='<%#
Bind("ProductTypeID") %>'></asp

ropDownList>
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Opportunity
Type" SortExpression="OpportunityType">
<ItemTemplate>
<asp:Label ID="lblOpportunityType"
Text='<%# Eval("OpportunityType") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp

ropDownList id="ddlOpportunityType"
DataSourceID="SqlDataSource3" Runat="Server"
DataTextField="OpportunityType"
DataValueField="OpportunityTypeID" SelectedValue='<%#
Bind("OpportunityTypeID") %>'/>
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Value (£)"
SortExpression="MonetaryValue">
<ItemTemplate>
<asp:Label ID="lblValue" Text='<%#
Eval("MonetaryValue") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtValue" Text='<%#
Bind("MonetaryValue") %>' runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtValue"
Display="None" ErrorMessage="Please enter a Value" />
<asp:RangeValidator ID="RangeValidator1"
runat="server"
ControlToValidate="txtValue"
Type="Double" MaximumValue="4000000"
MinimumValue="0" Display="None"
ErrorMessage="Value must be numeric" />
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Description"
SortExpression="Description">
<ItemTemplate>
<asp:Label ID="lblDescription" Text='<%#
Eval("Description") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtDescription"
Text='<%# Bind("Description") %>' runat="server"
TextMode="MultiLine" Rows="10"
Columns="50"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtDescription"
Display="None" ErrorMessage="Please enter a Description" />
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Probability
(%)" SortExpression="Probability" >
<ItemTemplate>
<asp:Label ID="lblProbability" Text='<%#
Eval("Probability") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp

ropDownList id="ddlProbability"
DataSourceID="SqlDataSource4" Runat="Server"
DataTextField="Probability"
DataValueField="ProbabilityID" SelectedValue='<%# Bind("ProbabilityID")
%>'/>
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Location"
SortExpression="Location">
<ItemTemplate>
<asp:Label ID="lblLocation" Text='<%#
Eval("Location") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtLocation" Text='<%#
Bind("Location") %>' runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtLocation"
Display="None" ErrorMessage="Please enter a Location" />
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:BoundField HeaderText="Company Name"
DataField="CompanyName" ReadOnly="True" >
<ItemStyle Height="24px" />
</asp:BoundField>
<asp:BoundField HeaderText="Date Created"
DataField="DateCreated" ReadOnly="True" >
<ItemStyle Height="24px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Status"
SortExpression="OpportunityStatus">
<ItemTemplate>
<asp:Label ID="lblOpportunityStatus"
Text='<%# Eval("OpportunityStatus") %>' Runat="Server" />
</ItemTemplate>
<EditItemTemplate>
<asp

ropDownList
id="ddlOpportunityStatus" DataSourceID="SqlDataSource5" Runat="Server"
DataTextField="OpportunityStatus"
DataValueField="OpportunityStatusID" SelectedValue='<%#
Bind("OpportunityStatusID") %>'/>
</EditItemTemplate>
<ItemStyle Height="24px" />
</asp:TemplateField>
<asp:BoundField HeaderText="Date Won/Lost"
DataField="DateWonOrLost" NullDisplayText="N/A" ReadOnly="True" >
<ItemStyle Height="24px" />
</asp:BoundField>
<asp:CommandField ShowEditButton="True"
ButtonType="Image" EditImageUrl="~/Images/btnEdit.jpg"
CancelImageUrl="~/Images/btnCancel.jpg"
UpdateImageUrl="~/Images/btnUpdate.jpg" >
<ItemStyle Height="10px" />
</asp:CommandField>
</Fields>
</asp

etailsView>