Telerik for AJAX RadGrid控件

作为一名.net小白,今天分享一下telerik知识的学习。熟悉ASP.NET Web Form的都知道Grid View或者是List View等表格控件,所以今天和大家分享一下telerik RadGrid的简单应用。

 

和一般表格控件一样,RadGrid有Datasource和一些点击事件,一些属性(例如分页,编辑,删除)

<telerik:RadGrid ID="RadGrid" runat="server" AllowPaging="true" AllowSorting="true" AllowCustomPaging="true"
                        OnNeedDataSource="RadGrid_NeedDataSource" LoadingPanelID="RadAjaxLoadingPanel" AutoGenerateColumns="false"
                        AllowAutomaticUpdates="True" AllowAutomaticDeletes="true" AllowMultiRowSelection="True">
                        <MasterTableView DataKeyNames="Account, Staff_ID, Manager_ID" NoMasterRecordsText="暂无数据">
                            <Columns>

                                <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn">
                                </telerik:GridClientSelectColumn>

                                <telerik:GridBoundColumn UniqueName="Account" HeaderText="账号" DataField="Account">
                                </telerik:GridBoundColumn>

                                <telerik:GridBoundColumn UniqueName="Number" HeaderText="编号" DataField="Number">
                                </telerik:GridBoundColumn>

                                <telerik:GridBoundColumn UniqueName="Name" HeaderText="姓名" DataField="Name">
                                </telerik:GridBoundColumn>

                                <telerik:GridBoundColumn UniqueName="Staff_Name" HeaderText="员工" DataField="Staff_Name">
                                </telerik:GridBoundColumn>

                                <telerik:GridBoundColumn UniqueName="Manager_Name" HeaderText="经理" DataField="Manager_Name">
                                </telerik:GridBoundColumn>

                                <telerik:GridBoundColumn UniqueName="Department_Name" HeaderText="部门" DataField="Department_Name">
                                </telerik:GridBoundColumn>
                            </Columns>
                        </MasterTableView>
                        <PagerStyle FirstPageToolTip="首页" PrevPageToolTip="上一页" NextPageToolTip="下一页" LastPageToolTip="尾页" PrevPagesToolTip="前10页" NextPagesToolTip="后10页"
                            PageSizeLabelText="每页显示数" PagerTextFormat="{4}共 <strong>{5}</strong> 条数据" />
                        <ExportSettings Excel-Format="Biff" IgnorePaging="true" ExportOnlyData="true" OpenInNewWindow="true"></ExportSettings>

                        <ClientSettings EnableRowHoverStyle="false">
                            <Selecting AllowRowSelect="true" UseClientSelectColumnOnly="true"></Selecting>
                        </ClientSettings>

                    </telerik:RadGrid>

DataKeyName:绑定字段值,可以绑定多个字段

OnNeedDataSource:数据源,用于绑定数据

DataField:对应数据库字段也就是映射表里面的字段

PageStyle:设置可以配合linq来进行分页

GridClientSelectColumn:设置表格单选

 

RadGrid后台如何获取字段的值(类似于GridView)

代码如下:

 1     private void GetSelectItems()
 2     {
 3         foreach (GridDataItem item in RadGrid.SelectedItems)
 4         {
 5             CustomerBatchChangeRecordVO record = new CustomerBatchChangeRecordVO();
 6 
 7             var editableItem = ((GridEditableItem)item);
 8             var staffID = (int)editableItem.GetDataKeyValue("Staff_ID");
 9             var managerID = (int)editableItem.GetDataKeyValue("Manager_ID");
10 
11             record.Old_Staff_ID = staffID;
12             record.Old_Manager_ID = managerID;
13             record.Account = item["Account"].Text;
14             record.Account_Name = item["Name"].Text;
15             record.Customer_Number = item["Number"].Text;
16             record.Old_Manager_Name = item["Manager_Name"].Text;
17             record.Old_Staff_Name = item["Staff_Name"].Text;
18             record.Department_Name = item["Department_Name"].Text;
19             recordList.Add(record);
20         }
21         Session[Config.Seesion_CustomerBatchChangeRecord] = recordList;
22 
23     }

获取多行选中的值:

 1 // 通过DataKeyValues获取
 2 foreach (GridDataItem item in rg.SelectedItems)
 3 {
 4     var value = item.GetDataKeyValue("Id");
 5     var value = rg.MasterTableView.DataKeyValues[item.ItemIndex]["Id"];
 6 }
 7  
 8 foreach (string item in rg.SelectedIndexes)
 9 {
10     var value = rg.MasterTableView.DataKeyValues[int.Parse(item)]["Id"];
11     var value = rg.Items[int.Parse(item)].GetDataKeyValue("Id");
12 }
13  
14 // 通过ExtractValues获取
15 foreach (GridDataItem item in rg.SelectedItems)
16 {
17     var dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
18     item.ExtractValues(dict);
19     var value = dict["Id"];
20 }
21  
22 foreach (string item in rg.SelectedIndexes)
23 {
24     var dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
25     rg.Items[int.Parse(item)].ExtractValues(dict);
26     var value = dict["Id"];
27 }
28  
29 // 通过TableCell获取
30 foreach (GridDataItem item in rg.SelectedItems)
31 {
32     var value = item["idCol"].Text; // GridBoundColumn
33     var value = (item.FindControl("idText") as Literal).Text; // GridTemplateColumn
34 }
35  
36 foreach (string item in rg.SelectedIndexes)
37 {
38     var value = rg.Items[int.Parse(item)]["idCol"].Text; // GridBoundColumn
39     var value = (rg.Items[int.Parse(item)].FindControl("idText") as Literal).Text; // GridTemplateColumn
40 
41 }

 

初次涉及telerik RadGrid,请大家指教 O(∩_∩)O

posted @ 2016-04-22 15:27  那年的冬天  阅读(520)  评论(0编辑  收藏  举报