簡體   English   中英

ASP Gridview:從標題列文本收集單元格值?

[英]ASP Gridview: Collect cell value from header column text?

我正在使用ASP中的一些gridviews。我想找出的是:是否有一種快速/良好的方法來基於標題列文本來獲取正確的單元格?

到目前為止,我還沒有完全找到想要的內容。

我正在尋找的東西更像是:row.Cells [“ Name_of_Column”]。Text;

有一種方法可以遍歷每列,然后如果標簽匹配,則抓取文本,請參見: 如何從gridview獲取列名?

但是,我正在做的是使用用戶以編程方式選擇的列制作gridview,所以我不確定row.Cells [2] .Text是否是正確的值,或者它是否可能是row.Cells [3] .Text。或row.Cells [13] .Text等。

我可以通過循環再次解決此問題,我正在尋找一個更簡潔,更簡潔的解決方案。

在此先謝謝您,我將盡力推薦良好的答案。

對於它的價值,您可以使用LINQ(它也使用循環)來創建一個字典,該字典將列名作為鍵,將索引作為值:

Dictionary<string, int> colLookup = GridView1.Columns.Cast<DataControlField>()
    .Select((Col, Index) => new { Col.HeaderText, Index })
    .ToDictionary(f => f.HeaderText, f => f.Index);
string cellText = e.Row.Cells[colLookup["Name_of_Column"]].Text;

您可以將其設置為實例字段,然后將其初始化一次( Page_Load fe),然后可以在需要的地方重復使用它。

嘗試這個,

for (int i = 0; i < grdToDisplay.Columns.Count; i++)
{
  string header = grdToDisplay.Columns[i].HeaderText;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM