簡體   English   中英

如何更改DataBound GridView上的標簽?

[英]How can I change the label on a DataBound GridView?

我繼承了另一個用vb.net編寫的開發人員的應用程序(我仍然不太熟練)。 它包含一個被數據綁定的GridView,它也動態地生成列的標簽。 我需要將“學術年”標題更改為例如2009-2010,而不是簡單的2010。當前代碼設置了該學科的學年,但它似乎也可以控制所顯示的數據。

這是代碼:

sql_string_Total = sql_string_Total & " sum([" & Academic_year - 4 & "]) as [" & Academic_year - 4 & "],sum([" & Academic_year - 3 & "]) as [" & Academic_year - 3 & "],sum([" & Academic_year - 2 & "]) as [" & Academic_year - 2 & "],sum([" & Academic_year - 1 & "]) as [" & Academic_year - 1 & "],sum([" & Academic_year & "]) as [" & Academic_year & "], "
sql_string_Total = sql_string_Total & " sum([" & Academic_year & "]-[" & Academic_year - 1 & "]) as [" & (Academic_year - 1) & "-" & (Academic_year) & " Diff.], "
sql_string_Total = sql_string_Total & " (cast(((sum([" & Academic_year & "])-sum([" & Academic_year - 1 & "]))/(sum([" & Academic_year - 1 & "])*1.0)*100.0)as numeric(4,1))) as [" & (Academic_year - 1) & "-" & (Academic_year) & " % Change] "

如何在不影響所顯示數據的情況下更改這些列的標題?

這似乎更多是SQL-VB問題的混合,而不僅僅是VB問題。 SQL中的as關鍵字指示該字段將在結果集中具有的名稱。 說了這么多...

快速解決方案:只需根據需要更改字段名稱。 例如,更改:

sql_string_Total = sql_string_Total & " sum([" & Academic_year - 4 & "]) as [" & Academic_year - 4 & "],sum([" & Academic_year - 3 & "]) as [" & Academic_year - 3 & "],sum([" & Academic_year - 2 & "]) as [" & Academic_year - 2 & "],sum([" & Academic_year - 1 & "]) as [" & Academic_year - 1 & "],sum([" & Academic_year & "]) as [" & Academic_year & "], "

sql_string_Total = sql_string_Total & " sum([" & Academic_year - 4 & "]) as [" & Academic_year - 5 & "-" & Academic_year - 4 & "],sum([" & Academic_year - 3 & "]) as [" & Academic_year - 4 & "-" & Academic_year - 3 & "],sum([" & Academic_year - 2 & "]) as [" & Academic_year - 3 & "-" & Academic_year - 2 & "],sum([" & Academic_year - 1 & "]) as [" & Academic_year - 2 & "-" & Academic_year - 1 & "],sum([" & Academic_year & "]) as [" & Academic_year - 1 & "-" & Academic_year & "], "

以前的開發人員對要求和的列和將要具有的名稱都使用相同的變量,但是您可以將名稱更改為所需的名稱,而不會影響要查詢的數據。 在gridview中,該列將采用您為結果列指定的名稱。

緩慢的推薦解決方案:重寫那段代碼。 我知道這不是你的,但正如你所看到的,它是一個小怪物,任何編輯都會使它變得更糟。 更不用說這是創建dinamyc sql的非常非常糟糕的方法。 尋找一種重寫方式也可以幫助您提高VB.net技能,如果您要在這個項目中待一會兒,我認為您將需要它們。 我建議您先看看String.Format方法和參數化查詢

暫無
暫無

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

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