c# - 如何使用行文本检测数据表中的行是否可用
问题描述
我有 Combobox 的数据源代码,它有两列和三行。
DataTable m_Table = new DataTable();
string[] m_Columns = { "number", "name" };
public Form1()
{
InitializeComponent();
for (int i = 0; i < m_Columns.Length; i++)
{
DataColumn column = new DataColumn(m_Columns[i]);
m_Table.Columns.Add(column);
}
DataSet ds = new DataSet();
ds.Tables.Add(m_Table);
m_Table.Rows.Add(new string[] { "1", "AAA" });
m_Table.Rows.Add(new string[] { "2", "BBB" });
m_Table.Rows.Add(new string[] { "2", "CCC" });
DataView view = new DataView(m_Table);
ComboList.DataSource = view;
ComboList.DisplayMember = "name";
ComboList.ValueMember = "no";
)
如何使用行的文本检测该行是否可用
我试过在下面使用
if(ComboList.Items.Contains("AAA"))
if((cmbStudentList.DataSource as DataView).Table.Rows.Contains("AAA"))
但是在尝试这些时会出现错误。我怎样才能实现?
解决方案
System.Data.DataSetExtensions.dll
与 Linq 一起使用:
DataRow matchingRow = m_Table
.AsEnumerable()
.FirstOrDefault( row => row["name"] == "AAA" );
if( matchingRow != null )
{
// do stuff with `matchingRow`
}
推荐阅读
- java - 如何在 java 8 中加入或合并 HashMap 列表
- javascript - 带有 dockerized vue 应用程序的 NICE DCV 客户端
- jquery - jQuery AJAX 登录问题(JSON 解析失败)
- html - 如何使悬停在断点 lg 和更大处可用,但仅单击在其他断点中可用
- typescript - Typescript 编译器显示与实际不同的类型
- reactjs - Setter 函数和 setState
- reactjs - 如何在 MobX 中的每一个可能的变化上运行反应回调?
- deployment - 不同环境的蓝/绿部署中的命名约定
- python - Numpy 在每个子矩阵上应用函数
- javascript - 组件下一个/图像不适用于 CSS