私は、データベースからのデータを持つ2つのテーブル、既存の演算子を持つテーブル、既存のユーザーを持つ1つのテーブルを持つこのページの演算子を持っています。ユーザーが既に演算子である場合は、その行を表に隠す必要があります。ここに私のコードは次のとおりです。データセットを含むデータローリングフィルタ配列asp net
のC#:
var userDetailsList = new List<ContactPartial>();
TellusAPI.TellusUserDetails userDetails;
var operators = _administrationSystem.GetOperatorsInformation(userId); //DataSet
var getUser = webSearch.DoSearchForNameAndNumber(userId, txtSearchForOperator.Text, false, "", "", false, false, out userDetails); //Array
if (getUser == null)
{
userDetailsList.Add(new ContactPartial(userDetails));
rptAdd.DataSource = null;
}
else
{
userDetailsList = getUser.Select(x => new ContactPartial(x)).ToList();
var dv = new DataView(operators.Tables[0]);
foreach (var Operator in userDetailsList)
{
if (!userDetailsList.Contains(Operator)) continue;
dv.RowFilter = "ID = " + Operator.Id;
}
rptAdd.DataSource = userDetailsList; //Repeater
}
クラス:
/// <summary>
/// Class for converting.
/// </summary>
public class ContactPartial
{
public long Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string CompanyName { get; set; }
public string Email { get; set; }
public ContactPartial(TellusUserDetails tud)
{
if (tud == null)
{
return;
}
Id = tud.UserID;
FirstName = tud.FirstName;
LastName = tud.LastName;
CompanyName = tud.Organisation.Description;
Email = tud.Email;
}
public ContactPartial(TellusSearchUserInfo tsi)
{
if (tsi == null)
{
return;
}
Id = tsi.ID;
FirstName = tsi.FirstName;
LastName = tsi.LastName;
CompanyName = tsi.CompanyName;
Email = tsi.Email;
}
}
だから私は今、これら両者を比較し、IDと行をフィルタ、それはまだすべての行を読み取ります。
期待したことと何ができないかについて、サンプルデータと予想される結果といくつかの説明をコードに提供できますか? –
データベース内のユーザーを検索するときに、既にoperatorテーブルに含まれているユーザーを除外したいと考えられます。私はそれを知るべきIDを持っています。 – Malphai
@ChetanRanpariyaコメントを読んでください。 – Malphai