如何通过列名称获取列索引? [英] how to get column Index by column name?
问题描述
网格的标题是超链接,我正在运行时将其值设置如下 -
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;
等等...
它正常工作。
现在假设我想通过名称获取datatgrid的perticular列的索引,但是我无法得到它。
我试过
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));
I have a datagrid having few columns-
The header of the grid is hyperlink and I am setting its value at runtime as follows-
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...
It is working properly. Now suppose I want to get index of a perticular column of datatgrid by its name but I am not able to get it. I tried
int colIndex = dtGrid.Columns.IndexOf(dtGrid.Columns[strQ2]);
this should return 1 as columnIndex but it is returning -1,
Also, dtGrid.Columns[strQ2] giving me the null value.
what I am doing wrong here?
Try to use LINQ FirstOrDefault to get object first and only then use .IndexOf(object) :
dtGrid.Columns.IndexOf(dtGrid.Columns.FirstOrDefault(c => c.Header == strQ2));
这篇关于如何通过列名称获取列索引?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!