RowSpan 方法採用 object 參數,靈感來自 ASP.NET Core Routing 的匿名型別慣例。這樣呼叫端可用直觀的屬性名稱傳遞設定,無需記憶多載順序:
GridView1.RowSpan(new { ColumnIndex = 0, Columns = "1" });
| 屬性 | 型別 | 必要 | 說明 |
|---|---|---|---|
| ColumnIndex | int | 是 | 基準合併欄位索引(0 起)。 |
| Columns | string | 否 | 同步合併的其他欄位索引,逗號分隔(如 "2,3,4")。 |
| ID | string | TemplateField 時必填 | TemplateField 中的控制項 ID(如 lblName)。 |
| PropertyName | string | 否 | 取值屬性名稱,預設 "Text"。 |
<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 等巢狀路徑。GetPropertyValue 邏輯遞迴查找。