I have a combobox that has following items inserted
public void SetOperationDropDown()
{
//ByDefault the selected text in the cmbOperations will be -SELECT OPERATIONS-.
cmbOperations.SelectedItem = "-SELECT OPERATIONS-";
//This is for adding four operations with value in operation dropdown
cmbOperations.Items.Insert(0, "PrimaryKeyTables");
cmbOperations.Items.Insert(1, "NonPrimaryKeyTables");
cmbOperations.Items.Insert(2, "ForeignKeyTables");
cmbOperations.Items.Insert(3, "NonForeignKeyTables");
cmbOperations.Items.Insert(4, "UPPERCASEDTables");
cmbOperations.Items.Insert(5, "lowercasedtables");
}
But as the user clicks on the button more than once the value gets doubled or any unwanted thing happens to the value.
the button click is
private void btnConnect_Click(object sender, EventArgs e)
{
//Function call for validating the textboxes entry
ValidateForm();
//Variable to store server address
string localHost = "192.168.10.3";
//Variable to store userId and password of the database
string logInDetails = "gp";
try
{
//Checking for the Valid entries in textboxes if all entries are correct then call functions accordingly
if((txtPassword.Text == logInDetails) && (txtUsername.Text == logInDetails) && (txtHost.Text == localHost))
{
//If connected then give this message to user
lblMessage.Visible = true;
lblMessage.Text = "You are connected to the SQL Server....";
if(lblMessage.Text != string.Empty)
{
//Function call for binding the dropdown with all DB names
BindDBDropDown();
//Function call for binding the operation names in dropdown
SetOperationDropDown();
}
}
else
{
//Else give the error message to user
lblMessage.Text = "Invalid Credentials";
}
}
catch(Exception ex)
{
//All the exceptions are handled and written in the EventLog.
EventLog log = new EventLog("Application");
log.Source = "MFDBAnalyser";
log.WriteEntry(ex.Message);
}
}
Can anyone help me out?
public void SetOperationDropDown()
{
if(CmbOperations.Items.Count == 0)
{
//ByDefault the selected text in the cmbOperations will be -SELECT OPERATIONS-.
cmbOperations.SelectedItem = "-SELECT OPERATIONS-";
//This is for adding four operations with value in operation dropdown
cmbOperations.Items.Insert(0, "PrimaryKeyTables");
cmbOperations.Items.Insert(1, "NonPrimaryKeyTables");
cmbOperations.Items.Insert(2, "ForeignKeyTables");
cmbOperations.Items.Insert(3, "NonForeignKeyTables");
cmbOperations.Items.Insert(4, "UPPERCASEDTables");
cmbOperations.Items.Insert(5, "lowercasedtables");
}
else
{
int? cbSelectedValue = null;
if(!string.IsNullOrEmpty(cmbOperations.SelectedValue))
cbSelectedValue = convert.toInt32(cmbOperations.SelectedValue);
}
//load your combo again
if(cbSelectedValue != null)
cmbOperations.SelectedValue = cbSelectedValue.ToString();
}
There may be small syntax errors since I didn't used VS.
only call the SetOperationDropDown()
when the load of your page is not a postback
if (!IsPostBack) {
SetOperationDropDown();
}
用户单击时禁用该按钮,将cmbOperations SelectItem重置为“不执行任何操作”值,并在完成请求处理后重新启用该按钮。
This is tagged under WinForms, so I don't think post backs are applicable here. Looking in your btnStartAnalysis_Click
method, I don't see it calling SetOperationDropDown
. Try going into DEBUG mode and put a break point in SetOperationDropDown
. Then click your button and see whether your break point is hit. If it is, then refer to your stack trace to see where SetOperationDropDown
is being called from.
If the WinForms tag is incorrect and you're actually using WebForms/ASP.NET, then do what Stefanvds and Marcel suggested. But I think it's important to figure out where SetOperationDropDown
is being incorrectly called from.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.