我是否尝试动态更改CheckedListBox中的项目源并保留其选定的值?
class Myclass extends Activity{
getActionBar();
}
//Change by
class Myclass extends ActionBarActivity{
getSupportActionBar();
}
当选择list1时(不是CHECKED,只是highligted)更新CheckedListBox2项
CheckedListBox1 | CheckedListBox2
[x] list0 | [ ] list0item0
[ ] list1 | [ ] list0item1
[ ] list2 | [ ] list0item2
[ ] list3 | [ ] list0item3
这是描述我的问题的picture。
这是一段代码:
CheckedListBox1 | CheckedListBox2
[ ] list0 | [ ] list1item0
[x] list1 | [ ] list1item1
[ ] list2 | [ ] list1item2
[ ] list3 | [ ] list1item3
这有什么清洁解决方案吗?提前谢谢!
答案 0 :(得分:0)
我不是c#的专家,更像是新手! 但我以这种方式想到了这一点。 当有人从listBox1中选择一个值(在Click上)时,它会清除listBox2结果以及默认情况下执行的查询或上一个查询。 在选择listBox1项之后,listBox2 onClick将根据选择的listBox1项进行查询。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
dates = pd.date_range('20070101',periods=1000)
df = pd.DataFrame(np.random.randn(1000), columns =list ('A'))
df['date'] = dates
def get_season(row):
if row['date'].month >= 3 and row['date'].month <= 5:
return 'spring'
elif row['date'].month >= 6 and row['date'].month <= 8:
return 'summer'
elif row['date'].month >= 9 and row['date'].month <= 11:
return 'autumn'
else:
return 'winter'
df['Season'] = df.apply(get_season, axis=1)
df['Year'] = df['date'].dt.year
df.loc[df['date'].dt.month == 12, 'Year'] += 1
df = df.set_index(['Year', 'Season'], inplace=False)
df.head()
fig,ax = plt.subplots()
df.plot(x='date', y = 'A', x_compat=True,ax=ax)
我无法确认但是我发现了一些关于此类列表框的文档。
Microsoft ListBox Selected items documentation
希望这有帮助! :)
答案 1 :(得分:0)
回答我自己的问题可能就是这个问题。 但我需要在CheckedListBox1中放置字符串而不是(集合)。
public partial class Form1 : Form
{
List<List<object>> function;
List<object> useCase;
public Form1()
{
function = new List<List<object>>();
useCase =new List<object>();
InitializeComponent();
useCase.AddRange(new object[] {
"List0Item0",
"List0Item1",
"List0Item2",
"List0Item3",
"List0Item4",
"List0Item5"});
this.function.Add(this.useCase);
this.checkedListBox1.Items.Add(function);
useCase = new List<object>();
useCase.AddRange(new object[] {
"List1Item0",
"List1Item1",
"List1Item2",
"List1Item3",
"List1Item4",
"List1Item5"});
this.function.Add(this.useCase);
this.checkedListBox1.Items.Add(function);
}
private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.checkedListBox2.Items.Clear();
for (int i = 0; i < this.function.Count(); i++)
{
if (checkedListBox1.SelectedIndex == i)
{
for (int j = 0; j < this.function[i].Count(); j++)
{
this.checkedListBox2.Items.Add(this.function[i][j]);
}
}
}
}
}
附加代码的输出here。