Use DataGrid.SelectedIndex and/or DataGrid.SelectedItem instead
Using MouseUp event in wpf DataGrid
-
10-10-2022 - |
문제
I have two tables: Requests and Items. This MouseUp event is for WinForm DatagridRow. How use this event for WPF DataGrid?
private void gridRequests_MouseUp(object sender, MouseEventArgs e)
{
DataTable dt = new DataTable();
DataBase db = new DataBase();
try
{
s = gridRequests[0, gridRequests.CurrentRow.Index].Value.ToString();
dt = db.MySelect("select * from Items where RequestID='" + s + "'");
gridItems.DataSource = dt;
gridItems.Columns[0].HeaderText = "No.";
gridItems.Columns[1].HeaderText = "Item Code";
gridItems.Columns[2].HeaderText = "Item Name";
}
catch { }
}
I use this in wpf:
private void requestsDataGrid_MouseUp(object sender, MouseButtonEventArgs e)
{
DataTable dt = new DataTable();
DataBase db = new DataBase();
s = requestsDataGrid[0, requestsDataGrid.CurrentRow.Index].Value.ToString();
dt = db.MySelect("select * from Items where RequestID='" + s + "'");
}
CurrentRow or CurrentCell is my error point.
해결책
다른 팁
Thank you Arsen, I used this:
private void requestsDataGrid_MouseUp(object sender, MouseButtonEventArgs e)
{
DataTable dt = new DataTable();
DataBase db = new DataBase();
string s = requestsDataGrid.SelectedItem.ToString();
dt = db.MySelect("select * from Items where RequestID='" + s + "'");
gridItems.DataContext = dt;
gridItems.Columns[0].HeaderStringFormat = "No";
gridItems.Columns[1].HeaderStringFormat = "Item Code;
gridItems.Columns[2].HeaderStringFormat = "Item Name";
}
this common error: Conversion failed when converting the varchar value 'System.Data.DataRowView' to data type int.
제휴하지 않습니다 StackOverflow