我的窗口中有两个Combobox窗体application.1st Combobox显示我已经从xls文件从数据库获得的国家的城市名称。组合框显示城市名这样的 -如何从文本文件中获取密钥和值并在组合框中设置值
Berlin
Munich
Stuttgart //etc.
现在我写了包含该地区的兴趣点列表的文本文件。我的文本文件看起来像
Berlin,Berlin Wall,Brandenburg Gate,Reichstag Building
Munich,Nymphenburg palace,Museum Island,Marienplatz
Stuttgart,Old Castle,Staatsgalerie Stuttgart,schlossplatz stuttgart //etc
现在我想,当一个地方出现在第一个组合框,所有的POI项目将会自动以列表的形式一样,当我点击柏林第二次组合框第二个下拉框生成将显示
Berlin Wall
Brandenburg Gate
Reichstag Building
但我不确定如何继续这样做。
我的代码是 - 填写follwing方式
class PlaceList
{
public static ComboBox Combo_list = new ComboBox();
public static DataGridView dataTable = new DataGridView();
public static void List()
{
var startPath = Application.StartupPath;
string folderName = Path.Combine(startPath, "POI_List");
System.IO.Directory.CreateDirectory(folderName);
string SavedfileName = "POI_list.json";
var Saving_path = Path.Combine(folderName, SavedfileName);
string fileName = "Zensus_Gemeinden_org.xlsx";
var path = Path.Combine(startPath, fileName);
String name = "Gemeinden_31.12.2011_Vergleich";
String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
path + ";Extended Properties='Excel 12.0 XML;HDR=YES;';";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand oconn = new OleDbCommand("Select [3] as City,[4] as Population, * From [" + name + "$D7:E11300] Where [4] > 10000", con);
con.Open();
OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
DataTable data = new DataTable();
sda.Fill(data);
dataTable.DataSource = data;
for (int i = 0; i < data.Rows.Count; i++)
{
Combo_list.Items.Add(data.Rows[i]["City"]);
}
string Place_Json = "Place_List:" + JsonConvert.SerializeObject(data, Formatting.Indented);
File.WriteAllText(Saving_path, Place_Json);
}
}
}
然后我把它从From1.cs像
组合框1这
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
PlaceList.Combo_list = comboBox1;
}
}
您需要通过线加载您的文件和行建是词典中的条目,其中关键是具有城市名称的字符串,值是a POI字符串列表。然后,当你从组合中选择一个城市时,只需使用该字符串作为搜索字典的关键 – Steve
谢谢但是,我很新,处理这个问题,你有任何这样的例子。 @Steve – Nowshin
你为什么要拷贝部分@Steve的问题答案? –