Hello,
im new in Xamarin Forms. I tried to get the Row Values of a selected row in DataGrid. The Problem ist when i try this Knowledge Base Article it shows me null in the selectedItem Breackpoint. Can someone help me to get this Values?
My MainPage.xaml.cs
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Telerik.XamarinForms.DataGrid.Commands;
using Xamarin.Forms;
namespace LagerApp.Portable
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
GetArticles();
}
private void buttonbearbeiten_Clicked(object sender, EventArgs e)
{
}
private void buttonNew_Clicked(object sender, EventArgs e)
{
popupNew.IsOpen = true;
ArtNumber.Focus();
ArtNumber.Text = "";
WerkNumber.Text = "";
Description.Text = "";
}
private void buttonDelete_Clicked(object sender, EventArgs e)
{
}
private async void GetArticles()
{
HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.ServerCertificateCustomValidationCallback = delegate { return true; };
HttpClient client = new HttpClient(clientHandler);
var response = await client.GetStringAsync("https://lagerapp.api.leonhardlang.at/api/Lager/GetArticle");
var articles = JsonConvert.DeserializeObject<List<Articles>>(response);
var columns = from c in articles select new { c.Artikelnummer, c.Werk, c.Kommentar };
DataGrid.ItemsSource = columns;
}
private async void btnSave_Clicked(object sender, EventArgs e)
{
Articles articles = new Articles()
{
Artikelnummer = ArtNumber.Text,
Werk = WerkNumber.Text,
Kommentar = Description.Text
};
var json = JsonConvert.SerializeObject(articles);
var content = new StringContent(json, Encoding.UTF8, "application/json");
HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.ServerCertificateCustomValidationCallback = delegate { return true; };
HttpClient client = new HttpClient(clientHandler);
var result = await client.PostAsync("https://lagerapp.api.leonhardlang.at/api/Lager/CreateArticle", content);
if (result.StatusCode == HttpStatusCode.OK)
{
await DisplayAlert("Information","Erfolgreich angelegt", "Ok");
}
GetArticles();
popupNew.IsOpen = false;
}
private void btnCancel_Clicked(object sender, EventArgs e)
{
popupNew.IsOpen = false;
}
private void DataGrid_SelectionChanged(object sender, Telerik.XamarinForms.DataGrid.DataGridSelectionChangedEventArgs e)
{
if (e.AddedItems.Count() > 0)
{
var selectedItem = e.AddedItems as Articles;
Application.Current.MainPage.DisplayAlert("Info", $"{selectedItem.id}, " +
$"{selectedItem.Artikelnummer}, {selectedItem.Werk}, {selectedItem.Kommentar}", "OK");
}
}
}
}
My Class:
using System; using System.Collections.Generic; using System.Text; namespace LagerApp.Portable { public class Articles { public int id { get; set; } public string Artikelnummer { get; set; } public string Werk { get; set; } public string Kommentar { get; set; } } }
Thank you