我有一个没有几列的数据网格-

网格的标题是超链接,我在运行时设置其值,如下所示:

string strQ1 = "<a href='somePage.aspx?ID=1'>gfgytyty<a>";
dtGrid.Columns[0].Header = strq1;

string strQ2 = "<a href='somePage.aspx?ID=2'>yhtryrtuyu<a>";
dtGrid.Columns[1].Header = strq2;

and so on...

它工作正常。
现在假设我想按名称获取datatgrid的特定列的索引,但是我无法获取它。
我试过了
int  colIndex = dtGrid.Columns.IndexOf(dtGrid.Columns[strQ2]);

这应该返回1作为columnIndex,但返回-1,

另外,dtGrid.Columns [strQ2]给我空值。

我在这里做错了什么?

最佳答案

尝试使用LINQ FirstOrDefault首先获取对象,然后再使用.IndexOf(object):

dtGrid.Columns.IndexOf(dtGrid.Columns.FirstOrDefault(c => c.Header == strQ2));

关于c# - 如何通过列名获取列索引?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31404400/

10-17 01:06