Part Entry working, Part Tracker not

We have this code to find the legacy part on our Part screens:

private void SetInternalPartCrossRef(string sPartNum)
	{
		EpiDataView edvNoBoundField = this.oTrans.Factory("NoBoundField");
		string sValue = string.Empty;

		if (!string.IsNullOrEmpty(sPartNum))
		{
			bool recSelected;
			string whereClause = "PartNum = '" + sPartNum + "'";
			DataSet ds = SearchFunctions.listLookup(this.oTrans, "InternalPartCrossRefAdapter", out recSelected, false, whereClause);

			if (recSelected) {
				sValue = ds.Tables[0].Rows[0]["XRefPartNum"].ToString();
			}
		}

		if (edvNoBoundField.dataView.Count > 0) {
			edvNoBoundField.CurrentDataRow["InternalPartNum"] = sValue;
		}
	}

This is called on the GetByID method (so when a Part is chosen) and is meant to determine the Legacy Part to show:

I found yesterday while doing other things to the Part Tracker that this code works just fine on Part Entry, but errors on Part Tracker.


The error seems to come from this line:

edvNoBoundField.CurrentDataRow["InternalPartNum"] = sValue;

Anyone have any ideas what the issue may be?