可能是一个菜鸟问题。但是我在这里摸不着头脑。
protected void ddlClientNum_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(Bussiness.GetConnectionString("Default")))
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter("select distinct client_name from [dbo].[customer_master] where client_number=" + ddlClientNum.SelectedItem.Text + " order by client_name", con);
adapter.Fill(dt);
ddlClientName.DataSource = dt;
ddlClientName.DataTextField = "client_name";
ddlClientName.DataValueField = "client_name";
ddlClientName.DataBind();
ddlClientName.ClearSelection();
//ddlClientName.SelectedValue = ddlClientName.Items.FindByText((ddlClientNum.SelectedItem.Text).ToString()).Value;
//ddlClientName.SelectedValue = ddlClientName.Items.FindByText((dt.Rows[0][0]).ToString()).Value;
//ddlClientName.Items.FindByText((dt.Rows[0][0]).ToString()).Selected = true;
ddlClientName.SelectedIndex = ddlClientName.Items.IndexOf(ddlClientName.Items.FindByText((dt.Rows[0][0]).ToString()));
}
}
}
我在页面加载时填充客户端编号和客户端名称下拉列表。在选择客户编号时,我需要选择相应的客户名称,但我不想清除项目。我需要用户能够查看其他客户端名称,但需要为所选客户端编号选择客户端名称。我尝试了3件事,但它不断添加所选的客户名称。
因此,我选择相应的客户编号时,选择的客户名称会多次出现,即使我选择了另一个客户编号,也会停留在那里。
e.g。我选择客户编号:176 |客户名称显示" XYZ客户端"选中但在列表中出现两次。如果我选择任何其他客户编号然后再选择176我可以看到" XYZ客户端"在列表中出现三次。
蓝调和黄色是重复的。答案 0 :(得分:0)
然后你不需要在这里再次绑定。只需设置选定的索引。
另外,我建议您使用参数化查询。否则,它将容易受到SQL注入攻击。 有关详细信息:https://www.mssqltips.com/sqlservertip/2981/using-parameters-for-sql-server-queries-and-stored-procedures/
mask1 = join_data['cluster_x'].isin([3,2,4])
mask2 = join_data['cluster_y'].isin([3,1])
mask3 = join_data['cluster_x'].isin([1,5])
mask4 = join_data['cluster_y'].isin([2,4])
join_data['cluster_z'] = np.where(mask1 & mask2, 1,
np.where(mask3 & mask2, 2,
np.where(mask1 & mask4, 3, 4)))
print (join_data)
cluster_x cluster_y cluster_z
0 3 3 1
1 2 0 4
2 5 1 2
3 3 2 3