public
partial
class
_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!this.IsPostBack)
{
bindData();
}
}
publicvoidbindData()
{
stringstrSql=ConfigurationManager.AppSettings["strcon"].ToString();
SqlConnectioncon=newSqlConnection(strSql);
SqlCommandcmd=newSqlCommand("select*fromtestwhereid=2",con);
con.Open();
SqlDataReaderread=cmd.ExecuteReader();
DetailsView1.DataSource=read;
DetailsView1.DataBind();
DropDownListdrpsex=DetailsView1.FindControl("drpsex")asDropDownList;
Labellblsex=DetailsView1.FindControl("lblsex")asLabel;
//SqlDataReaderreader=bindToDrop();
//drpsex.DataSource=reader;
//drpsex.DataBind();
//drpsex.SelectedIndex=drpsex.Items.IndexOf(drpsex.Items.FindByText(lblsex.Text.Trim()));//lblsex.Text.Trim();

}
protectedvoidDetailsView1_ItemCommand(objectsender,DetailsViewCommandEventArgse)
{
//if(e.CommandName.Equals("Edit"))//实现一
//{
//DetailsView1.ChangeMode(DetailsViewMode.Edit);

//}

//bindData();
}
protectedvoidDetailsView1_ModeChanging(objectsender,DetailsViewModeEventArgse)
{
//DetailsView1.ChangeMode(DetailsViewMode.Edit);
//bindData();
//实现二
if(DetailsView1.CurrentMode==DetailsViewMode.ReadOnly)
{
DetailsView1.ChangeMode(DetailsViewMode.Edit);
}
elseif(DetailsView1.CurrentMode==DetailsViewMode.Edit)
{
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
}
bindData();

}

publicSqlDataReaderbindToDrop()
{
stringstrSql=ConfigurationManager.AppSettings["strcon"].ToString();
SqlConnectioncon=newSqlConnection(strSql);
SqlCommandcmd=newSqlCommand("selectdistinctsexfromtest",con);
con.Open();
SqlDataReaderread=cmd.ExecuteReader();
returnread;
}

protectedvoidDetailsView1_ModeChanged(objectsender,EventArgse)
{

}
protectedvoidDetailsView1_DataBound(objectsender,EventArgse)
{

}
protectedvoidDetailsView1_PreRender(objectsender,EventArgse)
{
//实现dropdownlist在编辑的时候显示一样的值
if(this.IsPostBack)
{
if(DetailsView1.CurrentMode==DetailsViewMode.Edit)
{
DropDownListdrpsex=DetailsView1.FindControl("drpsex")asDropDownList;
Labellblsex=DetailsView1.FindControl("lblsex")asLabel;
drpsex.DataSource=bindToDrop();
drpsex.DataBind();
drpsex.SelectedValue=lblsex.Text.Trim();
}
}
}
}

==============================================================================================
前台
<
formid
=
"
form1
"
runat
=
"
server
"
>
<
div
>
<
asp:DetailsViewID
=
"
DetailsView1
"
runat
=
"
server
"
AutoGenerateRows
=
"
False
"
Height
=
"
50px
"
Width
=
"
125px
"
OnItemCommand
=
"
DetailsView1_ItemCommand
"
OnModeChanging
=
"
DetailsView1_ModeChanging
"
OnModeChanged
=
"
DetailsView1_ModeChanged
"
OnDataBound
=
"
DetailsView1_DataBound
"
OnPreRender
=
"
DetailsView1_PreRender
"
>
<
Fields
>
<
asp:TemplateFieldHeaderText
=
"
Name
"
>
<
EditItemTemplate
>
<
asp:TextBoxID
=
"
TextBox1
"
runat
=
"
server
"
Text
=
'
<%#Bind("name")%>
'
></
asp:TextBox
>
</
EditItemTemplate
>
<
InsertItemTemplate
>
<
asp:TextBoxID
=
"
TextBox1
"
runat
=
"
server
"
Text
=
'
<%#Bind("name")%>
'
></
asp:TextBox
>
</
InsertItemTemplate
>
<
ItemTemplate
>
<
asp:LabelID
=
"
Label1
"
runat
=
"
server
"
Text
=
'
<%#Bind("name")%>
'
></
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateFieldHeaderText
=
"
Sex
"
>
<
EditItemTemplate
>
<
asp:DropDownListID
=
"
drpsex
"
runat
=
"
server
"
DataSource
=
"
<%#bindToDrop()%>
"
DataTextField
=
"
sex
"
></
asp:DropDownList
>
</
EditItemTemplate
>
<
InsertItemTemplate
>
<
asp:TextBoxID
=
"
TextBox2
"
runat
=
"
server
"
Text
=
'
<%#Bind("sex")%>
'
></
asp:TextBox
>
</
InsertItemTemplate
>
<
ItemTemplate
>
<
asp:LabelID
=
"
Label2
"
runat
=
"
server
"
Text
=
'
<%#Bind("sex")%>
'
></
asp:Label
>

</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateField
>
<
ItemTemplate
>
<
asp:LabelID
=
"
lblsex
"
runat
=
"
server
"
Text
=
'
<%#Bind("sex")%>
'
></
asp:Label
>
</
ItemTemplate
>
</
asp:TemplateField
>
<
asp:TemplateFieldShowHeader
=
"
False
"
>
<
EditItemTemplate
>
<
asp:ButtonID
=
"
Button1
"
runat
=
"
server
"
CausesValidation
=
"
True
"
CommandName
=
"
Update
"
Text
=
"
更新
"
/>&
nbsp;
<
asp:ButtonID
=
"
Button2
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Cancel
"
Text
=
"
取消
"
/>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:ButtonID
=
"
Button1
"
runat
=
"
server
"
CausesValidation
=
"
False
"
CommandName
=
"
Edit
"
Text
=
"
编辑
"
/>
</
ItemTemplate
>
</
asp:TemplateField
>
</
Fields
>
</
asp:DetailsView
>

</
div
>
</
form
>








































































































































