Из того, что я вижу из вашего кода, просто импортируйте shipmentsPagination
из index.js
в тесте:
import defaultExport from '../../actions/'; // import the default export from index.js
const { shipments: shipmentsPagination } = defaultExport; // and use it to get shipmentsPagination
import {
setFilters,
removeFilter,
toggleFiltersModal,
setCSVDataAction,
} from '../../actions/shipments'; // everything else can come from shipments.js
Импортирование shipmentsPagination
из index.js
убедится, что строка export
в index.js
проверяется.
Хорошо, таким образом, ответ появился в результате ответа Andy, следовательно мой upvoting тот ответ.
Но когда я создал немного класса и попытался бросить listitem в тот класс, программа выдала исключение.
Разоблачающе исключение сказало мне, что программа не могла бросить DictionaryEntry в класс типа, который я определил.
Таким образом, я удалил прокси-класс и повторно структурировал запрос таким образом:
DictionaryEntry de = (DictionaryEntry)listbox.SelectedItem;
string htKey = de.Key.ToString();
И это - вся польза.
Причудливо простой ответ в конце. Спасибо за подсказку Andy.
Использование обоих SelectedIndexChanged
и SelectedValueChanged
не работал на меня - ListBox's
SelectedValue
свойство было всегда пустым. Это удивило меня, также.
Как хромое обходное решение, Вы могли просто вытянуть объект из ListBox
непосредственно, использование SelectedIndex
:
public Form1()
{
InitializeComponent();
this.listBox1.DisplayMember = "Name";
this.listBox1.ValueMember = "ID";
this.listBox1.Items.Add(new Test(1, "A"));
this.listBox1.Items.Add(new Test(2, "B"));
this.listBox1.Items.Add(new Test(3, "C"));
this.listBox1.Items.Add(new Test(4, "D"));
this.listBox1.Items.Add(new Test(5, "E"));
}
private void OnSelectedIndexChanged(object sender, EventArgs e)
{
if(-1 != this.listBox1.SelectedIndex)
{
Test t = this.listBox1.Items[this.listBox1.SelectedIndex] as Test;
if(null != t)
{
this.textBox1.Text = t.Name;
}
}
}
(Test
просто простой класс с двумя свойствами - ID
и Name
).
Кажется, что должен быть лучший путь, но если ничто иное это должно работать.
Попытайтесь захватить "ValueMember" из события ListBox1_SelectedValueChanged.
private void ListBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (ListBox1.SelectedIndex != -1)
{
string orbit = ListBox1.SelectedValue.ToString();
}
}
ArrayList planets = new ArrayList();
planets.Add(new Planet("Mercury", "1"));
planets.Add(new Planet("Venus", "2"));
//Remember to set the Datasource
ListBox1.DataSource = planets;
//Name and Orbit are properties of the 'Planet' class
ListBox1.DisplayMember = "Name";
ListBox1.ValueMember = "Orbit";
Я оказался здесь, когда я искал, как получить значение Item в ListBox, тогда очевидное пришло к мой разум.
Секрет в том, что метод Item в C #
, VB
и других является массивом, поэтому для получения значения любого элемента вам просто нужно написать это:
//Get value of the #1 Item in the ListBox;
ListBox1.Items[1].toString();
Чтобы получить все Предметы и поместите в документ или в строку, просто сделайте так:
string Value;
for (int c = 0; c < ListBox1.Items.Count; c++) {
Value = Value + ListBox1.Items[c].toString();
}
Я надеюсь, что помог вам, ребята. Это самый простой ответ на ваш пост.