2015-03-18 3 views
0

У меня есть приложение WPF, где я хочу выбрать элемент из datagrid и перейти в текстовое поле. после этого на кнопке add добавить выбранную сетку необходимо удалить. У меня есть хранимая процедура для удаления из таблицы. И в то же время перезагрузите таблицу в один и тот же файл данных.Как перезагрузить datagrid в wpf

Я попробовал этот код

private void referesh() 
{ 
    datagrid1.items.referesh(); 
} 
private void btnAdd_Click(object Sender, RoutedEventArg e) 
{ 
    referesh(); 
} 
private void datagrid1_SelectionChange(object Sender, RoutedEventArg e) 
{ 
    var selectedrow= datagried1.selectedItem as datarowview; 
    var id= selectedrow["Tagid"]; //Here get error that object refrence is not set is an instance of an object 
    string s= conver.tostring(id); 
    txttextbox1.text= s; 
} 

После нажатия кнопки добавить его получить сообщение об ошибке, что эталонный объект не установлен является экземпляром объекта

+0

Я предполагаю, что ошибка происходит в вашем ** referesh() ** метод. Что такое null? Это ** datagrid1 ** или ** datagrid1.items **? Также [см. Этот вопрос] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –

+0

было бы проще, если вы посмотрите на mvvm , там вы просто обрабатываете коллекцию, а datagrid «обновляется» автоматически с помощью правильных привязок :) – blindmeis

+0

@ Mike eason - фактически datagrid1 не переустанавливается и не обновляется с помощью datagrid1.items.referesh(); В refresh() я просто делаю datagrid1.items.referesh(); – Dipika

ответ

0

вы заставляете выбранного элемента DataRowView, который не , приведение к правильному типу

var selectedrow= datagried1.selectedItem as DataRowView 

SelectedItem является типом объекта, который связан с сеткой, не грести

попробовать делать это

private void datagrid1_SelectionChange(object Sender, RoutedEventArg e) 
{ 
    var selectedItem= datagried1.selectedItem as MY_Custom_Object; 
    var id= selectedItem.Tagid; 
    string s= conver.tostring(id); 
    txttextbox1.text= s; 
} 
+0

@ Muds - «My_custom_object» Является ли какой тип данных? – Dipika

+0

тот же тип данных, который вы привязали к своей сетке, .... Я предполагаю, что dataGrid1 имеет источник товаров ... itemsource обычно IEnumerable .. так что ваш список ... это ваш тип данных ... – Muds

+0

hint: its тип данных, который имеет Tagid – Muds