<telerik:GridTemplateColumn DataField="MyDataField" HeaderText="My Header" UniqueName="MyUniqueName"> <ItemTemplate> <%# Eval("MyBoundItem") %> </ItemTemplate> <EditItemTemplate> <telerik:RadListBox ID="MyRadListBox" runat="server" SelectionMode="Multiple" /> </EditItemTemplate></telerik:GridTemplateColumn>GridTableView masterTable = (sender as RadGrid).MasterTableView;RadListBox myRadListBox = masterTable.GetBatchColumnEditor("MyRadListBox") as RadListBox; // Suspicious Bind & null being returned
myRadListBox.DataSource = myDataSource;
myRadListBox.DataBind();Our solution is looking to clone items from a master list into a new list. We have this working on the server side but would like to move it client side if it is possible so we can prevent round trips taken.
protected void HandleDrop(object sender, RadTreeNodeDragDropEventArgs e) { RadTreeNode sourceNode = e.SourceDragNode; RadTreeNode destNode = e.DestDragNode; RadTreeViewDropPosition dropPosition = e.DropPosition; //var currentlesson = sourceNode.Value; //RadTreeNode foundNode = RadTreeView2.FindNodeByValue(currentlesson); if (destNode != null) { if (sourceNode.TreeView.SelectedNodes.Count <= 1) { var currentlesson = sourceNode.Value; RadTreeNode foundNode = RadTreeView2.FindNodeByValue(currentlesson); //this checks if node already exists in new list if (foundNode == null) { int? index = PerformDragAndDrop(dropPosition, sourceNode, destNode); if (index != null) { //Console.Error.WriteLine("NodeDrop: " + e.SourceDragNode.Text + " to " + e.DestDragNode.Text); //var currentindex = e.SourceDragNode.Index; var currentindex = index; var objectid = e.SourceDragNode.Value; var parentid = destNode.Value; var parentid2 = "Newlist"; var action = "moved"; if (parentid.Contains("LN")) { EventMovement.Add(action + currentindex + "," + objectid + "," + parentid2); result.Text += action + "," + currentindex + "," + objectid + "," + parentid2 + Environment.NewLine; } else { EventMovement.Add(action + currentindex + "," + objectid + "," + parentid); result.Text += action + "," + currentindex + "," + objectid + "," + parentid + Environment.NewLine; } } } } else if (sourceNode.TreeView.SelectedNodes.Count > 1) { int? index = PerformDragAndDrop(dropPosition, sourceNode, destNode); if (index != null) { foreach (RadTreeNode currentNode in sourceNode.TreeView.SelectedNodes) { var currentlesson = currentNode.Value; RadTreeNode foundNode = RadTreeView2.FindNodeByValue(currentlesson); //this checks if node already exists in new list if (foundNode == null) { PerformDragAndDrop(dropPosition, currentNode, destNode); //Console.Error.WriteLine("NodeDrop: " + currentNode.Text + " to " + e.DestDragNode.Text); var currentindex = index; var objectid = currentNode.Value; var parentid = destNode.Value; var action = "group-moved"; EventMovement.Add(currentindex + "," + objectid + "," + parentid); result.Text += action + "," + currentindex + "," + objectid + "," + parentid + Environment.NewLine; } } } } destNode.Expanded = true; } } private int? PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode) { int? index = null; if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode)) { return null; } // clone the sourceNode List<RadTreeNode> sourceNodeClone = CloneNode(sourceNode); if (remove == false) { sourceNode.Owner.Nodes.Remove(sourceNode); } // add source node as a child of the destination node //if (!sourceNode.IsAncestorOf(destNode)) //{ // destNode.Nodes.Add(sourceNodeClone); // sourceNodeClone.AllowDrop = false; //} // this prevents items from being added as children when moved switch (dropPosition) { case RadTreeViewDropPosition.Over: // child if (!sourceNode.IsAncestorOf(destNode)) { foreach (RadTreeNode node in sourceNodeClone) destNode.Nodes.Add(node); } break; case RadTreeViewDropPosition.Above: // sibling - above foreach (RadTreeNode node in sourceNodeClone) destNode.InsertBefore(node); break; case RadTreeViewDropPosition.Below: // sibling - below foreach (RadTreeNode node in sourceNodeClone) destNode.InsertAfter(node); break; } var currentlesson = sourceNode.Value; RadTreeNode foundNode = RadTreeView2.FindNodeByValue(currentlesson); if (foundNode != null) { index = foundNode.Index; } return index; } private List<RadTreeNode> CloneNode(RadTreeNode sourceNode) { List<RadTreeNode> clonedNode = new List<RadTreeNode>(); RadTreeNode clone = new RadTreeNode(); clone.Text = sourceNode.Text; clone.Value = sourceNode.Value; clone.ImageUrl = sourceNode.ImageUrl; clone.ExpandedImageUrl = sourceNode.ExpandedImageUrl; clone.AllowDrop = sourceNode.AllowDrop; //this carries over the allow drop from the main list //check if parent node -- for each statement didnt work here if (sourceNode.ParentNode != null) { if (sourceNode.Nodes.Count > 0) { //grab and move children too for (int i = 0; i < sourceNode.Nodes.Count - 1; i++) { clone.Nodes.Add(sourceNode.Nodes[i]); } } } clonedNode.Add(clone); return clonedNode; }
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" MultiPageID="RadMultiPage1" ShowBaseLine="true">
<Tabs>
<telerik:RadTab runat="server" Selected="True" Text="<u>T</u>ables" AccessKey="T">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="<u>P</u>arameters" AccessKey="P">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" Runat="server" SelectedIndex="0">
<telerik:RadPageView id="RadPageView1" runat="server" Selected="true">
Table List
</telerik:RadPageView>
<telerik:RadPageView id="RadPageView2" runat="server">
Parameter List
</telerik:RadPageView>
</telerik:RadMultiPage>
Am I missing something or is this feature (use of <TAB> key) not supported?
/Stan

Hello,
I'm using a RadGrid with dynamic columns and column filtering. I'm also setting a filter template for the columns I want to have this feature. Everything is working fine except for one thing I'm trying.
When I send the filter command on the client-side:
1.tableView.filter(columnUnique, searchValue, condition);I also set a css class on an element of my template.
I see this element changing but when the filter command is completed, it's gone.
Well, I implemented so far:
- The columns on the grid are defined during the page_init
- During this initialization, I set the filter templates too
This is an example of one of my templates:
01. public TextTemplate(Page _page, RadGrid _grid, RadContextMenu _menu, GridColumnSetting _column)02. {03. page = _page;04. grid = _grid;05. menu = _menu;06. columnSettings = _column;07. 08. panel = (Panel)page.LoadControl(typeof(Panel), null);09. panel.ID = "ftrPnl_text_" + columnSettings.DataMember;10. panel.CssClass = "ftrPnl";11. 12. panel2 = (Panel)page.LoadControl(typeof(Panel), null);13. panel2.ID = "ftrIpt_text_" + columnSettings.DataMember;14. panel2.CssClass = "ftrIpt";15. 16. textBox = (CustomTextBox)page.LoadControl("~/Controls/CustomTextBox.ascx");17. textBox.ID = "txt0_" + columnSettings.DataMember;18. textBox.ToolTip = columnSettings.ColumnToolTip;19. 20. button = (Button)page.LoadControl(typeof(Button), null);21. button.ID = "btn_filter_" + columnSettings.DataMember;22. button.UseSubmitBehavior = false;23. button.CssClass = "ftrTxt rgFilter btn_filter";24. 25. hidden = (HiddenField)page.LoadControl(typeof(HiddenField), null);26. hidden.ID = "hdn_filter_" + columnSettings.DataMember;27. }28. 29. public void InstantiateIn(Control container)30. {31. textBox.OnClientKeyDown =32. "filterOnEnter('" + hidden.ID + "', 'text', '" + button.ID + "');";33. 34. hidden.Value =35. grid.ClientID + FLP.SEPPROP +36. columnSettings.DataMember + FLP.SEPPROP +37. textBox.ClientID + FLP.SEPPROP +38. columnSettings.FilterFunction.AsString();39. 40. button.OnClientClick = FilterButtonJS();41. 42. panel2.Controls.Add(textBox);43. panel.Controls.Add(panel2);44. panel.Controls.Add(button);45. 46. container.Controls.Add(panel);47. container.Controls.Add(hidden);48. }
I would like to change the cell color of a specific cell in a specific row defined by two datakey values. For example using the following Grid:
Type ID Adjustments
PG 1 $10.00
V3 1 $10.00
PG 2 $134.35
V3 2 $178.60
I would like to change the background of the cells in the Adjustments column for the cells with values $134.35 and $178.60 based on the Type = PG and ID = 2 and the Type = V3 and the ID = 2. Might even get away with simply the ID = 2.
I attempted:
Protected Sub rgd_Paycheck_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles rgd_Paycheck.ItemCreated For Each item As GridDataItem In rgd_Paycheck.MasterTableView.Items Dim keyrow_PGPayrollID As String = item.GetDataKeyValue("PGPayrollID").ToString() Dim keyrow_RECTYPE As String = item.GetDataKeyValue("RECTYPE").ToString() If keyrow_PGPayrollID = 2 And keyrow_RECTYPE Like "PG" Then Dim TotalAdjustments_PG As String = item("TotalAdjustments").Text Session("TotalAdjustments_PG") = TotalAdjustments_PG End If If keyrow_PGPayrollID = 2 And keyrow_RECTYPE Like "V3" Then Dim TotalAdjustments_V3 As String = item("TotalAdjustments").Text Session("TotalAdjustments_V3") = TotalAdjustments_V3 End If If Session("TotalAdjustments_PG") <> Session("TotalAdjustments_V3") Then Label1.Text = "OOPS" If (TypeOf (e.Item) Is GridDataItem) Then 'Get the instance of the right type Dim dataBoundItem As GridDataItem = e.Item 'Check the formatting condition If keyrow_RECTYPE = "PG" Then dataBoundItem("TotalAdjustments").ForeColor = Color.Red dataBoundItem("TotalAdjustments").Font.Bold = True 'Customize more... End If End If End If Next End SubAnd attempted:
Protected Sub rgd_Paycheck_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles rgd_Paycheck.ItemDataBound If TypeOf e.Item Is GridDataItem Then Dim dataBoundItem As GridDataItem = DirectCast(e.Item, GridDataItem) If dataBoundItem.GetDataKeyValue("PGPayrollID").ToString() = "PG" And dataBoundItem.GetDataKeyValue("RECTYPE").ToString() = "V3" Then dataBoundItem("TotalAdjustments").ForeColor = Color.Red dataBoundItem("TotalAdjustments").Font.Bold = True End If End IfEnd SubAs always, any assistance much appreciated.
Allan

Hello everyone,
I have a little problem I have on left hand side of RadGrid textboxes and search button... on the right hand side I have a Rad grid that been loaded with info from DB... my question after filling the text boxes with info to search I want to allow on key press enter instead of the user click to search data in the radgrid how can I do this??
***************************************aspx filter code*****************************************
<telerik:RadPanelBar runat="server" ID="rpbMainMenu" Width="248px" Height="517px" ExpandMode="FullExpandedItem" >
<Items>
<telerik:RadPanelItem Expanded="True" ImageUrl="../Images/Layout/phone_edited.png" Text="Phone Book Search">
<ContentTemplate>
<div style=" border:0px solid red; padding:20px 0px 0px 10px">
<table class="filtersTable">
<tr>
<td>Contact Type:</td>
<td><telerik:RadComboBox runat="server" CheckBoxes="true" ID="rcbFilterPersonType" EmptyMessage="Select Person Type" Enabled="True"></telerik:RadComboBox></td>
</tr>
<tr>
<td>First Name:</td>
<td><asp:TextBox ID="txtFilterFirstName" runat="server" MaxLength="50"></asp:TextBox></td>
</tr>
<tr>
<td>Last Name:</td>
<td><asp:TextBox ID="txtFilterLastName" runat="server" MaxLength="50"></asp:TextBox></td>
</tr>
<tr>
<td>Company:</td>
<td><asp:TextBox ID="txtFilterCompany" runat="server" MaxLength="25"></asp:TextBox></td>
</tr>
<tr>
<td>Email:</td>
<td><asp:TextBox ID="txtFilterEmail" runat="server" MaxLength="50"></asp:TextBox></td>
</tr>
<tr>
<td>Cell Phone:</td>
<td> <asp:TextBox id="txtFilterCellPhone" runat="server" MaxLength="50" ></asp:TextBox></td>
</tr>
<tr>
<td> </td>
<td>
<telerik:RadButton ID="pSearchBtn" runat="server" Text="Search" Style="display: block; width: 80px;" AutoPostBack="true" OnClick="GeneralSearchBtn_Click" Font-Bold="False" ButtonType="SkinnedButton">
<Icon PrimaryIconCssClass="rbSearch" PrimaryIconLeft="4" PrimaryIconTop="4"></Icon>
</telerik:RadButton>
</td>
</tr>
</tr>
</table>
</div>
</ContentTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
*******aspx rad grid*******************
<telerik:RadGrid
ID="rgPhoneBook"
runat="server"
Width="100%"
AutoGenerateColumns="False"
AllowPaging="True"
AllowSorting="True"
PageSize="20"
CellSpacing="0" GridLines="None" Height="100%"
OnItemCommand="rgPhoneBook_ItemCommand"
OnPageIndexChanged="rgPhoneBook_OnPageIndexChanged"
OnSortCommand="rgPhoneBook_OnSortCommand"
EnableHeaderContextFilterMenu="False">
<ClientSettings>
<Selecting AllowRowSelect="True" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="true" FrozenColumnsCount="2" ScrollHeight="380px"/>
</ClientSettings>
<PagerStyle Mode="NumericPages"></PagerStyle>
<MasterTableView ShowHeadersWhenNoRecords="true" Font-Size="11px" GridLines="None" AllowPaging="True" CommandItemDisplay="Top" AllowAutomaticUpdates="False" TableLayout="Fixed">
<Columns>
<telerik:GridBoundColumn DataField="PersonID" Display="false"/>
<telerik:GridTemplateColumn HeaderText="First Name" HeaderStyle-Width="120px" SortExpression="FirstName">
<ItemTemplate>
<%# RenderActiveUser(DataBinder.Eval(Container.DataItem, "Active"))%> <%# DataBinder.Eval(Container.DataItem, "FirstName")%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn HeaderText="Last Name" HeaderStyle-Width="120px" ItemStyle-Width="130px" DataField="LastName" ShowFilterIcon="false" SortExpression="LastName" CurrentFilterFunction="StartsWith" AutoPostBackOnFilter="true"/>
<telerik:GridBoundColumn HeaderText="Company" HeaderStyle-Width="80px" ItemStyle-Width="130px" DataField="Company" ShowFilterIcon="false" SortExpression="Company" CurrentFilterFunction="StartsWith" AutoPostBackOnFilter="true"/>
<telerik:GridBoundColumn HeaderText="Email" HeaderStyle-Width="150px" ItemStyle-Width="70px" DataField="Email" ShowFilterIcon="false" SortExpression="Email" CurrentFilterFunction="StartsWith" AutoPostBackOnFilter="true"/>
<telerik:GridBoundColumn HeaderText="Mobile Phone" HeaderStyle-Width="120px" ItemStyle-HorizontalAlign="Left" DataField="CellNum" ShowFilterIcon="false" SortExpression="CellNum" CurrentFilterFunction="StartsWith" AutoPostBackOnFilter="true"/>
<telerik:GridBoundColumn HeaderText="Person Type" HeaderStyle-Width="130px" ItemStyle-HorizontalAlign="Left" DataField="PeopleType" ShowFilterIcon="false" SortExpression="PeopleType" CurrentFilterFunction="StartsWith" AutoPostBackOnFilter="true"/>
<telerik:GridTemplateColumn HeaderText="Edit" HeaderStyle-Width="70px">
<ItemTemplate>
<%# GenerateEditLink(DataBinder.Eval(Container.DataItem, "PersonID"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<CommandItemTemplate>
<div style="padding: 5px 5px;">
<table class="rcCommandTable" width="100%">
<td>
<asp:LinkButton ID="lbAddNewPerson" runat="server" CssClass="rgAdd" Width="20" Height="20" OnClientClick="Javascript:return showDialogInitially();" ></asp:LinkButton> Add New Person
</td>
</table>
</div>
</CommandItemTemplate>
</MasterTableView>
</telerik:RadGrid>
</div>
</ContentTemplate>
</asp:UpdatePanel>

Help Me!
- How to Binding data to GridDropDownColumn from DataBase
- How to Insert/Update Value in Editmode for Ragird
Thank !
Help Me!
VS2010, RadControls for ASP.NET AJAX Q3 2010. FrameWork 4.0
- How to Binding data to GridDropDownColumn from DataBase
- How to Insert/Update Value for Ragird1
Thank !
ASPX File
<%@ Page Language="C#" AutoEventWireup="true" validateRequest="false" enableEventValidation="false" CodeFile="HuyenThi_Datao.aspx.cs" Inherits="HuyenThi_Datao" MasterPageFile="~/AdminMasterPage.master" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<asp:Content ID="ContentHuyenThi_Datao" ContentPlaceHolderID="ContentPlaceHolder" runat="server">
<!-- content begin -->
<div class="qsf_content_area_wrapper">
<div class="qsf_content_area">
<table cellspacing="0" cellpadding="0" border="0"
style="width: 95%; height: 18px;">
<tr>
<td style="width: 350px">
</td>
<td >
<asp:CheckBox ID="CheckBox2" Text="Chọn tất cả các trang" runat="server" Height="22px">
</asp:CheckBox>
</td>
<td style="width: 120px">
<asp:Button ID="Button1" CssClass="button" Width="110px" Text="Export to Excel" OnClick="Button1_Click"
runat="server" Height="22px">
</asp:Button>
</td>
<td style="width: 120px">
<asp:Button ID="Button2" CssClass="button" Width="110px" Text="Export to Word" OnClick="Button2_Click"
runat="server" Height="22px">
</asp:Button>
</td>
<td style="width: 120px">
<asp:Button ID="Button3" CssClass="button" Width="110px" Text="Export to CSV" OnClick="Button3_Click"
runat="server" Height="22px">
</asp:Button>
</td>
<td style= "width:120px" >
<telerik:RadButton ID="RadButton3" runat="server" Width="110px" PostBackUrl="~/HuyenThi.aspx"
Text="Tạo Mới" Height="22px">
</telerik:RadButton>
</td>
</tr>
</table>
<br />
<script type="text/javascript">
function onRequestStart(sender, args) {
if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToWordButton") >= 0 ||
args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) {
args.set_enableAjax(false);
}
}
</script>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr >
<td >
<telerik:RadButton ID="RadButton2" runat="server" Font-Bold="True"
Font-Names="Times New Roman" Font-Size="XX-Large" ForeColor="#0066FF" ReadOnly="True"
Text=" Huyen Thi created" Height="20px" Width="98%"
EnableBrowserButtonStyle="True">
</telerik:RadButton>
</td>
</tr>
</table>
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadGrid2">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid2"></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid Width="98%" runat="server" ID="RadGrid1" AllowPaging="True"
AllowSorting="True" OnDeleteCommand = "RadGrid1_DeletedCommand"
OnInsertCommand = "RadGrid1_InsertCommand" OnUpdateCommand= "RadGrid1_UpdateCommand"
MasterTableView-NoMasterRecordsText="No Recorde"
OnNeedDataSource="RadGrid1_NeedDataSource"
OnSortCommand="RadGrid1_SortCommand"
OnPageIndexChanged="RadGrid1_PageIndexChanged"
OnPageSizeChanged="RadGrid1_PageSizeChanged" EnableViewState="False"
GridLines="None" Skin="Web20" AllowFilteringByColumn="True" PageSize="15"
CellSpacing="-1">
<MasterTableView DataKeyNames="HuyenThiId" AutoGenerateColumns="False" EditMode="EditForms"
Width="100%" AdditionalDataFieldNames="HuyenThiId" AllowNaturalSort="False"
EnableViewState="False" Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
GridLines="None">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
<Columns>
<telerik:GridEditCommandColumn HeaderText="UpDate" EditText="UpDate">
</telerik:GridEditCommandColumn>
<telerik:GridDropDownColumn UniqueName="TinhTen" ListDataMember="TinhTen" SortExpression="TinhTen" ListTextField="TinhTen" EnableEmptyListItem="true"
EmptyListItemText="--Chọn Tỉnh--" EmptyListItemValue="" ListValueField="TinhId" HeaderText="Tên Tỉnh" DataField="TinhId" >
</telerik:GridDropDownColumn>
<telerik:GridBoundColumn DataField="HuyenThiId" HeaderText="ID HuyenThiId" ReadOnly="True" SortExpression="HuyenThiId"
UniqueName="HuyenThiId" Visible="false">
<HeaderStyle Width="20px" ForeColor="Silver" />
<ItemStyle ForeColor="Silver" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="HuyenThiTen" HeaderText="Ten Huyen Thi" SortExpression="HuyenThiTen"
UniqueName="HuyenThiTen" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="HuyenThiMoTa" HeaderText="Mô Tả" SortExpression="HuyenThiMoTa"
UniqueName="HuyenThiMoTa" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false">
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn DataNavigateUrlFields="HuyenThiId" HeaderText="EDIT" DataNavigateUrlFormatString="~/HuyenThi.aspx?Id={0}"
Text="<img alt='EDIT' src='images\Edit.gif' border='0' />"
UniqueName= "SuaColumn" AllowFiltering="False">
<HeaderStyle HorizontalAlign="center" />
<ItemStyle HorizontalAlign="Center" />
</telerik:GridHyperLinkColumn>
<telerik:GridButtonColumn CommandName="Delete" HeaderText="Del" ConfirmText=" Del Huyen Thi " Text="<img alt='Del' src='images\Delete.gif' border='0' />" UniqueName= "DeleteColumn" >
<HeaderStyle HorizontalAlign="center" />
<ItemStyle HorizontalAlign="Center" />
</telerik:GridButtonColumn>
</Columns>
<PagerStyle AlwaysVisible="True" />
</MasterTableView>
<FilterMenu>
<CollapseAnimation Type="None" />
</FilterMenu>
<HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Web20"></HeaderContextMenu>
</telerik:RadGrid>
</div>
</div>
</asp:Content>
ASPX.CS File
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Bussiness;
using Model;
using Telerik.Web.UI;
public partial class HuyenThi_Datao : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RadGrid1.ItemDataBound += new GridItemEventHandler(RadGrid1_ItemDataBound);
}
//Load data
protected void LoadData()
{
RadGrid1.DataSource = ListHuyenThiService.SelectHuyenThiInTinhAll();
RadGrid1.DataBind();
RadGrid1.MasterTableView.GetColumn("HuyenThiTen").Display = true;
RadGrid1.MasterTableView.GetColumn("DeleteColumn").Display = true;
RadGrid1.MasterTableView.GetColumn("SuaColumn").Display = true;
}
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
RadGrid1.DataSource = ListHuyenThiService.SelectHuyenThiInTinhAll();
}
protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
// How to get Value to Update Database
}
protected void RadGrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
// How to get Value to Update Database
}
private void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && (e.Item as GridEditableItem).IsInEditMode)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
GridEditManager editMan = editedItem.EditManager;
GridDropDownListColumnEditor editor = editMan.GetColumnEditor("TinhTen") as GridDropDownListColumnEditor;
editor.DataSource = ListTinhService.SelectTinhAll();
editor.DataBind();
}
}
protected void RadGrid1_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e)
{
LoadData();
}
protected void RadGrid1_PageIndexChanged(object sender, Telerik.Web.UI.GridPageChangedEventArgs e)
{
LoadData();
}
protected void RadGrid1_SortCommand(object sender, Telerik.Web.UI.GridSortCommandEventArgs e)
{
LoadData();
}
protected void RadGrid1_DeletedCommand (object source, Telerik.Web.UI.GridCommandEventArgs e)
{
//Get the GridDataItem of the RadGrid
GridDataItem item = (GridDataItem)e.Item;
//Get the primary key value using the DataKeyValue.
int intHuyenThiID = Convert.ToInt32(item.OwnerTableView.DataKeyValues[item.ItemIndex]["HuyenThiId"]);
try
{
HuyenThiService.DeleteHuyenThi(intHuyenThiID);
//Insert Log
string strDes = "Xóa Huyện Thị ID=" + intHuyenThiID;
string strIP = HttpContext.Current.Request.UserHostAddress;
LogService.CreateLog(Page.User.Identity.Name, strDes, DateTime.Now, strIP);
LoadData();
}
catch (Exception ex)
{
RadGrid1.Controls.Add(new LiteralControl("Không xóa được Nhóm này."));
e.Canceled = true;
}
}
protected void Button1_Click(object sender, System.EventArgs e)
{
ConfigureExport();
RadGrid1.MasterTableView.ExportToExcel();
}
protected void Button2_Click(object sender, System.EventArgs e)
{
ConfigureExport();
RadGrid1.MasterTableView.ExportToWord();
}
protected void Button3_Click(object sender, System.EventArgs e)
{
ConfigureExport();
RadGrid1.MasterTableView.ExportToCSV();
}
protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToExcelCommandName ||
e.CommandName == Telerik.Web.UI.RadGrid.ExportToWordCommandName ||
e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName)
{
ConfigureExport();
}
}
public void ConfigureExport()
{
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.ExportSettings.IgnorePaging = CheckBox2.Checked;
RadGrid1.ExportSettings.OpenInNewWindow = true;
RadGrid1.ExportSettings.FileName = "HuyenThi_Export_" + DateTime.Now.ToString("dd.MM.yyyy");
RadGrid1.ExportSettings.HideStructureColumns = true;
}
}