简体   繁体   English

在C#中显示列表中的数据

[英]Display data from List in C#

I would like to display the data which I get from List when the result of my List is = to 1. I need to get the FileName , Title and HotspotID . 我想显示当List的结果为= 1时从List获得的数据。我需要获取FileNameTitleHotspotID

Can somebody help me with it? 有人可以帮我吗? The part that I need help is at the end part of my code. 我需要帮助的部分位于代码的结尾部分。

here is the code: 这是代码:

    private void PerformSheetLink(String hotspotID, Int32 fileRec)
    {
        string nomenclature = dataLayer.GetNomenclature(fileRec, hotspotID);
        string pattern = @"\((?<ProjectRec>\d+(?:_)?\d*?)*\,(?<FileName>[^,]*)\,(?<HotspotID>[^)]*)\)";
        Regex regex = new Regex(pattern, RegexOptions.Compiled);
        Match m = regex.Match(nomenclature);

        //Multiple numenclature exist           
        if (regex.Matches(nomenclature).Count > 1)
        {
            List<P2Trace> linkList = new List<P2Trace>();
            string fileName, hotspot, title;                
            MatchCollection mc = regex.Matches(nomenclature);
            foreach (Match match in mc)
            {
                //This match has a Single Project
                GroupCollection gc = match.Groups;
                if (gc["ProjectRec"].Captures.Count == 1)
                {
                    if ((int)cbModel.SelectedValue == Int32.Parse(gc["ProjectRec"].Value))
                    {
                        fileName = String.Format("{0}.cgm", gc["FileName"].Value);
                        title = dataLayer.GetSheetTitle(fileName);
                        hotspot = FixHotspotID(gc["HotspotID"].Value);
                        linkList.Add(new P2Trace { FileName = fileName, HotspotID = hotspot, Title = title });
                    }
                }
                else
                {
                    //This match has Multiple Projects 
                    List<Int32> pRecs = GetProjectRecsInList(gc["ProjectRec"].Captures);
                    if (pRecs.Contains((int)cbModel.SelectedValue))
                    {
                        foreach (Int32 projectRecNo in pRecs)
                        {
                            if (projectRecNo == (int)cbModel.SelectedValue)
                            {
                                fileName = String.Format("{0}.cgm", gc["FileName"].Value);
                                title = dataLayer.GetSheetTitle(fileName);
                                hotspot = FixHotspotID(gc["HotspotID"].Value);
                                linkList.Add(new P2Trace { FileName = fileName, HotspotID = hotspot, Title = title });
                            }
                        }
                    }
                }
            }
            //Link found and collected, perform jump
            if (linkList.Count == 1)
            {
               p2Trace.FileName = linkList. ?????
               p2Trace.Title = linkList. ??????
               p2Trace.HotspotID= linkList. ??????
               jumpTo(p2Trace.FileName, p2Trace.Titel, p2Trace.HotspotID);

            }
p2Trace.FileName = linkList[0].FileName;
p2Trace.Title = linkList[0].Title;
p2Trace.HotspotID = linkList[0].HotspotID;

Try this... 尝试这个...

    if (linkList.Count == 1)
    {
var firstItem = linkList[0];
       p2Trace.FileName = firstItem.FileName;
       p2Trace.Title = firstItem.Title;
       p2Trace.HotspotID= firstItem.HostspotID;
       jumpTo(p2Trace.FileName, p2Trace.Titel, p2Trace.HotspotID);

    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM