我已经尝试了很多方法来解决这个问题,但我似乎找不到正确的答案。
我有一个DataGrid
6 列,当用户单击Column 6上的任何行时,他们应该只被重定向到另一个页面。
所以用户只能点击下面的任何一个单元格To-Do
。当他们单击该行时,我需要它来找到与Type
该单元格位于同一行的行。EG如果我点击了6 To-Do
,它应该知道我点击了行类型Football
。
然后我希望Type
将第一列中的那个传递到另一个页面,这样我就可以调出该To-Do
下的所有不同项目Type
。
这是我尝试过的:
cSViewEntity selectedView = dgFake.SelectedItem as cSViewEntity;
AllocateAudits page = new AllocateAudits()
{
DataContext = selectedView
};
FrameNavigation.Navigate(page);
但是当我这样做时,它并没有达到这个方法:
public void Page_OnNavigatedTo(object sender, NavigationEventArgs e)
{
var newDataContext = e.Content;
_View = (cSViewEntity)newDataContext;
_Transactions = new List<cAuditTransactionTypeEntity>();
_Transactions = sp.GetTransactionTypes().ToList();
string TransactionType = _View.TransactionType;
int TransactionTypeID = _Transactions.FirstOrDefault(w => w.TransactionType == TransactionType).TransactionTypeId;
dgAllocate.ItemsSource = sp.GetTransactionsNotEvaluated(TransactionTypeID).ToList();
}
任何帮助都会非常有帮助,
谢谢。
回答问题:
我将 SelectedItem 传递到另一个页面,然后在该页面上找到类型并在该类型上运行存储过程。
cSViewEntity obj = (cSViewEntity)dgFake.SelectedItem;
AllocateAudits page = new AllocateAudits(obj)
{
DataContext = obj
};
FrameNavigation.Navigate(page);
}
然后将它传递给构造函数,然后在方法的开头添加它。
private void Rawr(cSViewEntity obj)
{
var transactiontype = _obj.TransactionType;
//Stores the information from newDataContext to the entity with the name of _View.
_View = (cSViewEntity)obj;