一個簡單的範例
要從下面的 SQL 取出資料
select name "姓名", grade "年級", id 學號 from student
想要產生以下的結果
在 RadGrid 要如何實作?
1. 在 RadGrid 中利用 Property Editor 加入一個 Column (Bound Column) 並定義為 Template Column
可利用 Convert this column into Template Column
PS. 不要忘了原先的姓名與年紀兩個欄位,不過要把他們 Visible 變成 False
<telerik:GridTemplateColumn UniqueName="column" HeaderText="姓名/ 年級">
<EditItemTemplate>
<asp:TextBox runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="DATA"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
在 .aspx 中會產生對應的一個 ItemTemplate, Telerik 會先放好一個陽春的 asp:Label 在那邊
記得將個 ID 補齊, 以便後面的程式在 Data Bind 時把資料寫進去
2. 補上 RadGrid.DataItemBound 的事件
3. 當 DataItemBound 被 Trigger 時執行以下的 Code
protected void Mytable_ItemDataBound(object sender, GridItemEventArgs e)
{
// 確定是否是該對應的 SourceId, 其實也可以不用一定要判斷,有時 DataSourceID 可能不會用到
if (e.Item is GridDataItem && e.Item.OwnerTableView.DataSourceID == "SqlDataSource1")
{
Label lbl = e.Item.FindControl("DATA") as Label;
lbl.Text = (e.Item as GridDataItem)["姓名"].Text" + "<br>" + (e.Item as GridDataItem)["年級"].Text";
}
}
要從下面的 SQL 取出資料
select name "姓名", grade "年級", id 學號 from student
想要產生以下的結果
學號 | 姓名/ 年級 |
A0001 | Philip 3 |
A0002 | Jersey 3 |
在 RadGrid 要如何實作?
1. 在 RadGrid 中利用 Property Editor 加入一個 Column (Bound Column) 並定義為 Template Column
可利用 Convert this column into Template Column
PS. 不要忘了原先的姓名與年紀兩個欄位,不過要把他們 Visible 變成 False
<telerik:GridTemplateColumn UniqueName="column" HeaderText="姓名/ 年級">
<EditItemTemplate>
<asp:TextBox runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="DATA"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
在 .aspx 中會產生對應的一個 ItemTemplate, Telerik 會先放好一個陽春的 asp:Label 在那邊
記得將個 ID 補齊, 以便後面的程式在 Data Bind 時把資料寫進去
2. 補上 RadGrid.DataItemBound 的事件
3. 當 DataItemBound 被 Trigger 時執行以下的 Code
protected void Mytable_ItemDataBound(object sender, GridItemEventArgs e)
{
// 確定是否是該對應的 SourceId, 其實也可以不用一定要判斷,有時 DataSourceID 可能不會用到
if (e.Item is GridDataItem && e.Item.OwnerTableView.DataSourceID == "SqlDataSource1")
{
Label lbl = e.Item.FindControl("DATA") as Label;
lbl.Text = (e.Item as GridDataItem)["姓名"].Text" + "<br>" + (e.Item as GridDataItem)["年級"].Text";
}
}
沒有留言:
張貼留言