张工的SQL Server经验心得

主要分享一些个人的SQL Server编程开发优化经验心得。个人公众号【SQL数据库编程】(微信号:zhang502219048)

博客园 首页 新随笔 联系 订阅 管理

问题:
需要对DataGridViewRow的下拉框列Item2所选内容进行判断,看是否跟数据库里面某个配置表的数据列Item1匹配。
如果用两个foreach循环进行匹配,会导致逻辑复杂而且容易只break里面那层循环而忽略break外层循环而造成bug.

解决方案:
巧妙使用List,把配置表满足条件的Item1统一装到List,再使用List的Contains方法来判断DataGridViewRow是否有行的Item2列是等于Item1相关项。

代码:

List<string> list = new List<string>();

DataTable dt = xxxx;
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr["Item1"].ToString());
}

foreach (DataGridViewRow row in dgv.Rows)
{
    if (list.Contains(row.Cells["Item2"].EditedFormattedValue.ToString()))
    {
        strXX = row.Cells["XXXX"].EditedFormattedValue.ToString();
        break;
    }
}

 

posted on 2019-10-31 08:56  张工502219048  阅读(1816)  评论(0编辑  收藏  举报