public void DetailsViewRow_BubbleEvent() { DetailsView dv = new DetailsView(); dv.Page = new Page(); PokerDetailsViewRow row = new PokerDetailsViewRow(2, DataControlRowType.Footer, DataControlRowState.Insert); Button bt = new Button(); dv.Controls.Add(row); CommandEventArgs com = new CommandEventArgs(new CommandEventArgs("Delete", null)); dv.ItemDeleting += new DetailsViewDeleteEventHandler(R_DataDeleting); Assert.AreEqual(false, dataDeleting, "BeforeDeleteBubbleEvent"); row.DoOnBubbleEvent(row, com); Assert.AreEqual(true, dataDeleting, "AfterDeleteBubbleEvent"); dv.ChangeMode(DetailsViewMode.Insert); com = new CommandEventArgs(new CommandEventArgs("Insert", null)); dv.ItemInserting += new DetailsViewInsertEventHandler(dv_ItemInserting); Assert.AreEqual(false, dataInserting, "BeforeInsertBubbleEvent"); row.DoOnBubbleEvent(row, com); Assert.AreEqual(true, dataInserting, "AfterInsertBubbleEvent"); dv.ChangeMode(DetailsViewMode.Edit); com = new CommandEventArgs(new CommandEventArgs("Update", null)); dv.ItemUpdating += new DetailsViewUpdateEventHandler(dv_ItemUpdating); Assert.AreEqual(false, dataUpdating, "BeforeUpdateBubbleEvent"); row.DoOnBubbleEvent(row, com); Assert.AreEqual(true, dataUpdating, "AfterUpdateBubbleEvent"); dv.ItemUpdating += new DetailsViewUpdateEventHandler(dv_ItemUpdating); }
protected void dvService_DataBound(object sender, EventArgs e) { DetailsView dv = sender as DetailsView; if (dv.DataItem != null) { DataRow dr = ((DataRowView)dv.DataItem).Row; string imagePath = String.Format("~/Upload/ExpertPhoto/{0}.jpg", dr["ExpertId"]); if (File.Exists(Server.MapPath(imagePath))) { imgPhoto.ImageUrl = imagePath; } if (dv.CurrentMode == DetailsViewMode.Edit) { DropDownList ddlServiceType = dv.FindControl("ddlServiceType") as DropDownList; Label lblServiceType = dv.FindControl("lblServiceType") as Label; ddlServiceType.SelectedValue = lblServiceType.Text; // Check if this service belong to current logon expert, if no, deny edit mode. int serviceExpertId = Convert.ToInt32(dr["ExpertId"]); int currentExpertId = Convert.ToInt32(Session["ExpertId"]); if (serviceExpertId != currentExpertId) { dv.ChangeMode(DetailsViewMode.ReadOnly); } } } }
protected void DetailsView_ItemCommand(object sender, DetailsViewCommandEventArgs e) { InfoList.Items.Clear(); switch (e.CommandName) { case "TestWeb": try { IBaseDriver drv = null; switch (mm.DbServer) { case DbServer.MySql: drv = new BaseDriverMySql(((TextBox)(DetailsView.Rows[1].Cells[1].Controls[0])).Text); break; case DbServer.MsSql: drv = new BaseDriverMsSql(((TextBox)(DetailsView.Rows[1].Cells[1].Controls[0])).Text); break; } drv.TestConnection(); InfoList.Items.Add("Connection successful"); } catch (Exception ew) { InfoList.Items.Add(ew.Message); } break; case "TestIS": try { IBaseDriver drv = null; switch (mm.DbServer) { case DbServer.MySql: drv = new BaseDriverMySql(((TextBox)(DetailsView.Rows[3].Cells[1].Controls[0])).Text); break; case DbServer.MsSql: drv = new BaseDriverMsSql(((TextBox)(DetailsView.Rows[3].Cells[1].Controls[0])).Text); break; } drv.TestConnection(); InfoList.Items.Add("Connection successful"); } catch (Exception ei) { InfoList.Items.Add(ei.Message); } break; case "Cancel": Response.RedirectToRoute("ProjectsRoute"); break; case "Edit": DetailsView.ChangeMode(DetailsViewMode.Edit); break; } }
protected void DetailsView_ModeChanging(object sender, DetailsViewModeEventArgs e) { #region ModeChanging Action DetailsView dv = (DetailsView)sender; dv.ChangeMode(e.NewMode); try { Int32 donationid = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); Int32 donorid = Convert.ToInt32(GridView1.SelectedDataKey.Values[1].ToString()); DetailsView_Data(donationid, donorid, dv); } catch (Exception ex) { Error_Save(ex, "DetailsView_ModeChanging"); } if (e.NewMode == DetailsViewMode.Edit) { dv.AllowPaging = false; } else { dv.AllowPaging = true; } #endregion ModeChanging Action }
protected void DetailsView_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { DateTime a; String oldName = (String)Session["PlayerDetailsName"]; string newName = ((TextBox)DetailsView.FindControl("NameTxt")).Text; int Jersey = Convert.ToInt32(((TextBox)DetailsView.FindControl("JerseyTxt")).Text); String Dob = ((TextBox)DetailsView.FindControl("DobTxt")).Text; if (newName != "") { if (DateTime.TryParse(Dob, out a) == true) { SqlCommand command = new SqlCommand(); command.CommandText = "UpdatePlayerDetails"; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("OldName", SqlDbType.VarChar); command.Parameters["OldName"].Value = oldName; command.Parameters.Add("NewName", SqlDbType.VarChar); command.Parameters["NewName"].Value = newName; command.Parameters.Add("NewJersey", SqlDbType.Int); command.Parameters["NewJersey"].Value = Jersey; command.Parameters.Add("NewDOB", SqlDbType.Date); command.Parameters["NewDOB"].Value = a; DataConnection myConnection = new DataConnection(); myConnection.ExecuteNonQuery(command); DetailsView.ChangeMode(DetailsViewMode.ReadOnly); BindDetails(); } } if (oldName != newName) { Response.Redirect("ClubDetails.aspx#Body"); } }
protected void OnDataBound(object sender, EventArgs e) { DetailsView detailsView = (DetailsView)sender; if (detailsView.Rows.Count == 0) { detailsView.ChangeMode(DetailsViewMode.Insert); } }
private void InitDvMessageTypes(IList <MessageType> dataSource) { const string dvMessagesTypeTxtName = "txtName"; const string dvMessagesTypeTxtNameBindingName = "Name"; const string dvMessagesTypeTxtDescription = "txtDescription"; const string dvMessagesTypeTxtDescriptionBindingName = "Description"; const string dvMessagesTypeDdlThreshold = "ddlThreshold"; const string dvMessagesTypeDdlThresholdBindingName = "Threshold"; const string dvMessagesTypeDdlPriority = "ddlPriority"; const string dvMessagesTypeDdlPriorityBindingName = "Priority"; const string dvMessagesTypeDdlIsActive = "ddlIsActive"; const string dvMessagesTypeDdlIsActiveBindingName = "IsActive"; _dvMessageTypes.ChangeMode(DetailsViewMode.Edit); var txtName = CreateTextBox(dvMessagesTypeTxtName, dvMessagesTypeTxtNameBindingName); var txtNameField = CreateTemplateField(txtName); _dvMessageTypes.Fields.Add(txtNameField); var txtDescription = CreateTextBox(dvMessagesTypeTxtDescription, dvMessagesTypeTxtDescriptionBindingName); var txtDescriptionField = CreateTemplateField(txtDescription); _dvMessageTypes.Fields.Add(txtDescriptionField); var dropDownDataSource = new List <bool> { false, true }; var ddlThreshold = CreateDropdownList(dvMessagesTypeDdlThreshold, dvMessagesTypeDdlThresholdBindingName, dropDownDataSource); var ddlThresholdField = CreateTemplateField(ddlThreshold); _dvMessageTypes.Fields.Add(ddlThresholdField); var ddlPriority = CreateDropdownList(dvMessagesTypeDdlPriority, dvMessagesTypeDdlPriorityBindingName, dropDownDataSource); var ddlPriorityField = CreateTemplateField(ddlPriority); _dvMessageTypes.Fields.Add(ddlPriorityField); var ddlIsActive = CreateDropdownList(dvMessagesTypeDdlIsActive, dvMessagesTypeDdlIsActiveBindingName, dropDownDataSource); var ddlIsActiveField = CreateTemplateField(ddlIsActive); _dvMessageTypes.Fields.Add(ddlIsActiveField); _dvMessageTypes.DataKeyNames = new[] { nameof(MessageType.MessageTypeID) }; _dvMessageTypes.DataSource = dataSource.ToList(); _dvMessageTypes.DataBind(); }
/// <summary> /// Here we perform the update action /// There is some slight validation, all done in the backend code /// If we update successfully, we switch the DV to ReadOnly mode /// If we fail to update, we leave the data as is and give the user an error /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void DetailsView_ItemUpdating2(object sender, DetailsViewUpdateEventArgs e) { dtlLabel.Text = "DetailsView_ItemUpdating"; DetailsView dv = (DetailsView)sender; dv.ChangeMode(DetailsViewMode.ReadOnly); Int32 donationid = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); Int32 donorid = Convert.ToInt32(GridView1.SelectedDataKey.Values[1].ToString()); DetailsView_Data(donationid, donorid, dv); }
/// <summary> /// 改变当前的页面展现模式。 /// </summary> /// <param name="detailView">DetailView控件。</param> protected virtual void ChangeViewMode(DetailsView detailView) { switch (this.ViewMode) { case eSchool.Web.UI.WebControls.ViewMode.EditForm: detailView.ChangeMode(DetailsViewMode.Edit); break; case eSchool.Web.UI.WebControls.ViewMode.NewForm: detailView.ChangeMode(DetailsViewMode.Insert); break; case eSchool.Web.UI.WebControls.ViewMode.DispForm: detailView.ChangeMode(DetailsViewMode.ReadOnly); break; default: throw new Exception("页面展现模式错误。"); } }
protected void DetailsView_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { int clubId = (int)DetailsView.DataKey.Value; string newName = ((TextBox)DetailsView.FindControl("NameTxt")).Text; string newCity = ((TextBox)DetailsView.FindControl("CityTxt")).Text; string newAdress = ((TextBox)DetailsView.FindControl("AdressTxt")).Text; SqlCommand command = new SqlCommand(); command.CommandText = "UpdateClubDetails"; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("RegNum", SqlDbType.Int); command.Parameters["RegNum"].Value = clubId; command.Parameters.Add("NewName", SqlDbType.VarChar); command.Parameters["NewName"].Value = newName; command.Parameters.Add("NewCity", SqlDbType.VarChar); command.Parameters["NewCity"].Value = newCity; command.Parameters.Add("NewAdress", SqlDbType.VarChar); command.Parameters["NewAdress"].Value = newAdress; DataConnection myConnection = new DataConnection(); myConnection.ExecuteNonQuery(command); DetailsView.ChangeMode(DetailsViewMode.ReadOnly); BindDetails(); }
protected void DetailsView_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { Boolean update = false; String error = ""; #region ItemUpdating Action DetailsView dv = (DetailsView)sender; #region ItemUpdating Action for DetailsView1 if (dv.ID == "DetailsView1") { #region Try: DetailsView1 Update try { DropDownList uptRole = (DropDownList)dv.FindControl("ddlRole"); DropDownList uptClient = (DropDownList)dv.FindControl("ddlClient"); String UserID = ((HiddenField)dv.FindControl("UserID")).Value; String RoleID = ((HiddenField)dv.FindControl("RoleID")).Value; String ClientID = ((HiddenField)dv.FindControl("ClientID")).Value; String ModuleID = ((HiddenField)dv.FindControl("ModuleID")).Value; if (uptRole != null) { update = true; dtlLabel.Text += "<br />Role: " + uptRole.SelectedValue; } if (update) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = "[dbo].[user_update_user_credentials]"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@UserID", UserID)); cmd.Parameters.Add(new SqlParameter("@Role", uptRole.SelectedValue)); cmd.Parameters.Add(new SqlParameter("@RoleOld", RoleID)); cmd.Parameters.Add(new SqlParameter("@Client", uptClient.SelectedValue)); cmd.Parameters.Add(new SqlParameter("@ClientOld", ClientID)); //cmd.Parameters.Add(new SqlParameter("@ModuleOld", ModuleID)); DetailsView_UpdateRecord(cmd); } } } #endregion Try: DetailsView1 Update #region Catch: DetailsView1 Update catch (Exception ex) { Error_Save(ex, "Update User: User Credentials"); update = false; error = "Internal server error during update process."; } #endregion Catch: DetailsView1 Update } #endregion ItemUpdating Action for DetailsView1 #region ItemUpdating Action for DetailsView2 else if (dv.ID == "DetailsView2") { #region Try: DetailsView2 Update try { DropDownList uptPrefix = (DropDownList)dv.FindControl("ddlPrefix"); TextBox uptFirstName = (TextBox)dv.FindControl("FirstName"); TextBox uptMiddleName = (TextBox)dv.FindControl("MiddleName"); TextBox uptLastName = (TextBox)dv.FindControl("LastName"); DropDownList uptSuffix = (DropDownList)dv.FindControl("ddlSuffix"); if (uptFirstName != null && uptFirstName.Text.Length > 0 && uptLastName != null && uptLastName.Text.Length > 0 ) { update = true; } if (uptPrefix != null) { dtlLabel.Text += "<br />Prefix: " + uptPrefix.SelectedValue; } else { update = false; } if (uptFirstName != null) { dtlLabel.Text += "<br />FirstName: " + uptFirstName.Text; } else { update = false; } if (uptMiddleName != null) { dtlLabel.Text += "<br />MiddleName: " + uptMiddleName.Text; } else { update = false; } if (uptLastName != null) { dtlLabel.Text += "<br />LastName: " + uptLastName.Text; } else { update = false; } if (uptSuffix != null) { dtlLabel.Text += "<br />Suffix: " + uptSuffix.SelectedValue; } else { update = false; } if (update) { using (SqlCommand cmd = new SqlCommand()) { Int32 UserID = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); cmd.CommandText = "[dbo].[user_update_user_details]"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@SP_UserID", UserID)); cmd.Parameters.Add(new SqlParameter("@uptPrefix", uptPrefix.SelectedValue)); cmd.Parameters.Add(new SqlParameter("@uptFirstName", uptFirstName.Text.Trim())); cmd.Parameters.Add(new SqlParameter("@uptMiddleName", uptMiddleName.Text.Trim())); cmd.Parameters.Add(new SqlParameter("@uptLastName", uptLastName.Text.Trim())); cmd.Parameters.Add(new SqlParameter("@uptSuffix", uptSuffix.SelectedValue)); DetailsView_UpdateRecord(cmd); } } } #endregion Try: DetailsView2 Update #region Catch: DetailsView2 Update catch (Exception ex) { Error_Save(ex, "Update User: User Details"); update = false; error = "Internal server error during update process."; } #endregion Catch: DetailsView2 Update } #endregion ItemUpdating Action for DetailsView2 #region ItemUpdating Action for DetailsView3 else if (dv.ID == "DetailsView3") { #region Try: DetailsView3 Update try { TextBox uptPhoneArea = (TextBox)dv.FindControl("PhoneArea"); TextBox uptPhonePrefix = (TextBox)dv.FindControl("PhonePrefix"); TextBox uptPhoneSuffix = (TextBox)dv.FindControl("PhoneSuffix"); if (uptPhoneArea != null && uptPhoneArea.Text.Length == 3 && uptPhonePrefix != null && uptPhonePrefix.Text.Length == 3 && uptPhoneSuffix != null && uptPhoneSuffix.Text.Length == 4 ) { update = true; } else { error = "You can not blank out the phone number at this time."; } if (uptPhoneArea != null) { dtlLabel.Text += "<br />PhoneArea: " + uptPhoneArea.Text; } else { update = false; } if (uptPhonePrefix != null) { dtlLabel.Text += "<br />PhonePrefix: " + uptPhonePrefix.Text; } else { update = false; } if (uptPhoneSuffix != null) { dtlLabel.Text += "<br />PhoneSuffix: " + uptPhoneSuffix.Text; } else { update = false; } if (update) { using (SqlCommand cmd = new SqlCommand()) { Int32 UserID = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); cmd.CommandText = "[dbo].[user_update_user_phone]"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@SP_UserID", UserID)); cmd.Parameters.Add(new SqlParameter("@uptPhoneArea", uptPhoneArea.Text)); cmd.Parameters.Add(new SqlParameter("@uptPhonePrefix", uptPhonePrefix.Text)); cmd.Parameters.Add(new SqlParameter("@uptPhoneSuffix", uptPhoneSuffix.Text)); DetailsView_UpdateRecord(cmd); } } } #endregion Try: DetailsView3 Update #region Catch: DetailsView3 Update catch (Exception ex) { Error_Save(ex, "Update User: User Phone"); update = false; error = "Internal server error during update process."; } #endregion Catch: DetailsView3 Update } #endregion ItemUpdating Action for DetailsView3 #region ItemUpdating Action for DetailsView4 else if (dv.ID == "DetailsView4") { #region Try: DetailsView4 Update try { TextBox uptAddress1 = (TextBox)dv.FindControl("Address1"); TextBox uptAddress2 = (TextBox)dv.FindControl("Address2"); TextBox uptAddress3 = (TextBox)dv.FindControl("Address3"); TextBox uptCity = (TextBox)dv.FindControl("City"); TextBox uptZip = (TextBox)dv.FindControl("Zip"); DropDownList uptState = (DropDownList)dv.FindControl("ddlState"); DropDownList uptCountry = (DropDownList)dv.FindControl("ddlCountry"); if (uptAddress1 != null && uptAddress2 != null && uptAddress3 != null && uptCity != null && uptState != null && uptZip != null && uptCountry != null ) { update = true; } #region This is a Server Side check - If we failed, the code is broken (Possible Browser Related Issue) if (uptAddress1 != null) { dtlLabel.Text += "<br />Address1: " + uptAddress1.Text; } else { update = false; } if (uptAddress2 != null) { dtlLabel.Text += "<br />Address2: " + uptAddress2.Text; } else { update = false; } if (uptAddress3 != null) { dtlLabel.Text += "<br />Address3: " + uptAddress3.Text; } else { update = false; } if (uptCity != null) { dtlLabel.Text += "<br />City: " + uptCity.Text; } else { update = false; } if (uptState != null) { dtlLabel.Text += "<br />State: " + uptState.SelectedValue; } else { update = false; } if (uptZip != null) { dtlLabel.Text += "<br />Zip: " + uptZip.Text; } else { update = false; } if (uptCountry != null) { dtlLabel.Text += "<br />Country: " + uptCountry.SelectedValue; } else { update = false; } #endregion This is a Server Side check - If we failed, the code is broken (Possible Browser Related Issue) if (update) { // Here we should process the validation using (SqlCommand cmd = new SqlCommand()) { Int32 UserID = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); cmd.CommandText = "[dbo].[user_update_user_address]"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@SP_UserID", UserID)); cmd.Parameters.Add(new SqlParameter("@uptAddress1", uptAddress1.Text)); cmd.Parameters.Add(new SqlParameter("@uptAddress2", uptAddress2.Text)); cmd.Parameters.Add(new SqlParameter("@uptAddress3", uptAddress3.Text)); cmd.Parameters.Add(new SqlParameter("@uptCity", uptCity.Text)); cmd.Parameters.Add(new SqlParameter("@uptState", uptState.SelectedValue)); cmd.Parameters.Add(new SqlParameter("@uptZip", uptZip.Text)); cmd.Parameters.Add(new SqlParameter("@uptCountry", uptCountry.SelectedValue)); DetailsView_UpdateRecord(cmd); } } } #endregion Try: DetailsView4 Update #region Catch: DetailsView4 Update catch (Exception ex) { Error_Save(ex, "Update User: User Address"); update = false; error = "Internal server error during update process."; } #endregion Catch: DetailsView4 Update } #endregion ItemUpdating Action for DetailsView4 if (update) { dv.ChangeMode(DetailsViewMode.ReadOnly); Int32 donationid = Convert.ToInt32(GridView1.SelectedDataKey.Values[0].ToString()); Int32 donorid = Convert.ToInt32(GridView1.SelectedDataKey.Values[1].ToString()); DetailsView_Data(donationid, donorid, dv); GridView_Data(0, "", GridView1); } else { WriteToLabel("add", "Cyan", "<br /><br />There was an error updating your record.<br />Please review the below message:", dtlLabel); WriteToLabel("add", "Red", "<br /><br />" + error, dtlLabel); } #endregion ItemUpdating Action }
protected void DetailsView_ModeChanging(object sender, DetailsViewModeEventArgs e) { DetailsView.ChangeMode(e.NewMode); BindDetails(); }