首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

GridView 儲存格合併擴充方法:參數設計與 TemplateField 支援

     編輯:關於C語言

參數設計理念:參考 ASP.NET Core Routing

RowSpan 方法採用 object 參數,靈感來自 ASP.NET Core Routing 的匿名型別慣例。這樣呼叫端可用直觀的屬性名稱傳遞設定,無需記憶多載順序:

GridView1.RowSpan(new { ColumnIndex = 0, Columns = "1" });

參數完整說明

屬性型別必要說明
ColumnIndexint是基準合併欄位索引(0 起)。
Columnsstring否同步合併的其他欄位索引,逗號分隔(如 "2,3,4")。
IDstringTemplateField 時必填TemplateField 中的控制項 ID(如 lblName)。
PropertyNamestring否取值屬性名稱,預設 "Text"。

TemplateField 使用範例

<asp:TemplateField HeaderText="姓名">
    <ItemTemplate>
        <asp:Label ID="lblName" runat="server" Text='<%# Eval("姓名") %>' />
    </ItemTemplate>
</asp:TemplateField>

// 呼叫時需指定 ID 與 PropertyName
GridView1.RowSpan(new { ColumnIndex = 0, ID = "lblName", PropertyName = "Text", Columns = "1" });

限制與注意事項

  • 目前 PropertyName 僅支援單層級屬性(如 Text、Value),不支援 SelectedItem.Value 等巢狀路徑。
  • 不支援容器控制項(如 Panel 內的 Label),需修改 GetPropertyValue 邏輯遞迴查找。
  • 合併演算法假設資料已依合併欄位排序,否則結果不正確。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved