Mình đang cần làm 1 cái Grid context menu.... làm xong rồi mà chạy nó cứ báo lỗi bên file cs line
Mã:
public partial class ContextMenu : System.Web.UI.Page
đây là bài demo của mình có bạn hay anh chị nào biết xem giúp giải đáp hộ với...cảm ơn nhiều
aspx
Mã:
<%@ Page Language="C#" AutoEventWireup="false" CodeFile="ContextMenu.aspx.cs" Inherits="Telerik.Web.Examples.Integration.ContextMN.ContextMenu" MasterPageFile="~/Site1.Master"%>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script runat="server">
protected void RadG1_PreRender(object sender, EventArgs e)
{
if (RadG1.EditIndexes.Count > 0 || RadG1.MasterTableView.IsItemInserted)
{
GridColumn col1 = RadG1.MasterTableView.GetColumn("EditCommandColumn");
col1.Visible = true;
}
else
{
GridColumn col2 = RadG1.MasterTableView.GetColumn("EditcommandColumn");
col2.Visible = false;
}
(RadG1.MasterTableView.AutoGeneratedColumns[0] as GridBoundColumn).ReadOnly = true;
}
protected void RadM1_ItemClick(object sender, RadMenuEventArgs e)
{
int radGridClickedRowIndex;
radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]);
switch (e.Item.Text)
{
case "Chỉnh Sửa":
RadG1.Items[radGridClickedRowIndex].Edit = true;
RadG1.Rebind();
break;
case "Thêm Mới":
RadG1.MasterTableView.IsItemInserted = true;
RadG1.Rebind();
case "Xóa Bỏ":
RadG1.MasterTableView.PerformDelete(RadG1.Items[radGridClickedRowIndex]);
break;
}
}
protected void RadG1_UpdateCommand(object sender, GridUpdatedEventArgs e)
{
GridTextColumnEditor gridTextColumnEditor_UnitMaker = (e.Item as GridDataItem).EditManager.GetColumnEditor("UnitMaker") as GridTextColumnEditor;
GridTextColumnEditor gridTextColumnEditor_UnitPrice = (e.Item as GridDataItem).EditManager.GetColumnEditor("UnitPrice") as GridTextColumnEditor;
if (gridTextColumnEditor_UnitPrice.Text == String.Empty)
{
e.Canceled = true;
SetDefaultValues(gridTextColumnEditor_UnitPrice, "0");
}
if (gridTextColumnEditor_UnitMaker.Text == String.Empty)
{
e.Canceled = true;
}
else if (gridTextColumnEditor_UnitPrice.Text.Split('.')[0].Length<=0||gridTextColumnEditor_UnitPrice.Text.Split('.')[]>3)
{
e.Canceled = true;
SetDefaultValues(gridTextColumnEditor_UnitPrice,"0");
}
}
private void SetDefaultValues(GridTextColumnEditor gridTextColumnEditor, string text)
{
gridTextColumnEditor.Text = text;
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<telerik:RadCodeBlock runat="server" ID="RadCB1">
<script type="text/javascript">
function RowContextMenu(sender, eventArgs) {
var menu = $find("<%=RadM1.ClientID %>");
var evt = eventArgs.get_domEvent();
if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") {
return;
}
var index = eventArgs.get_itemIndexHierarchical();
document.getElementById("radGridClickedRowIndex").value = index;
sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);
menu.show(evt);
evt.cancelBubble = true;
evt.returnValues = false;
if (evt.stopPropagation) {
evt.stopPropagation();
evt.preventDefault();
}
}
</script>
</telerik:RadCodeBlock>
<telerik:RadAjaxManager ID="Nothing" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadG1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadG1" LoadingPanelID="RadALP1" />
<telerik:AjaxUpdatedControl ControlID="RadM1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadM1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadG1" LoadingPanelID="RadALP1" />
<telerik:AjaxUpdatedControl ControlID="RadM1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadALP1" runat="server" Width="1197px">
<input type="hidden" id="radGridClickedRowIndex" name="radGridClickeRowIndex" />
<div style="margin-right:20px;">
<telerik:RadGrid ID="RadG1" runat="server" Width="102%" DataSourceID="SqlDataSource1"
AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
OnPreRender="RadG1_PreRender" OnUpdateCommand="RadG1_UpdateCommand"
GridLines="None" onneeddatasource="RadG1_NeedDataSource">
<MasterTableView AllowSorting="false" PageSize="10" AllowPaging="true" Width="100%"
DataKeyNames="ID" DataSourceID="SqlDataSource1" EditMode="InPlace"
AutoGenerateColumns="False">
<CommandItemSettings ExportToPdfText="Export to Pdf" />
<Columns>
<telerik:GridBoundColumn DataField="ID" DataType="System.Int32" HeaderText="Mã Sản Phẩm"
ReadOnly="True" SortExpression="ID" UniqueName="ID">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Name" HeaderText="Tên Sản Phẩm"
SortExpression="Name" UniqueName="Name">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Maker" HeaderText="Hãng Sản Xuất"
SortExpression="Maker" UniqueName="Maker">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Price" DataType="System.Int32"
HeaderText="Giá Sản Phẩm" SortExpression="Price" UniqueName="Price">
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn UniqueName="EditCommandColumn1">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowContextMenu="RowContextMenu" />
<Selecting AllowRowSelect="true" />
</ClientSettings>
<PagerStyle Mode="NextPrevAndNumeric" />
<HeaderContextMenu CssGridContextMenu_Default"
EnableImageSprites="True">
</HeaderContextMenu>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MAINConnectionString %>"
DeleteCommand="DELETE FROM [SANPHAM] WHERE [ID] = @ID" InsertCommand="INSERT INTO [SINHVIEN]([Name],[Maker],[Price])VALUES (@Name , @Maker, @Price)"
SelectCommand="SELECT [ID], [Name], [Maker], [Price] FROM [SANPHAM]"
UpdateCommand="UPDATE[SANPHAM] SET [Name]=@Name,[Maker]=@Maker,[Price]=@Price WHERE[ID]=@ID"
>
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Maker" Type="String" />
<asp:Parameter Name="Price" Type="Decimal" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="ID" Type="Int32" />
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Maker" Type="String" />
<asp:Parameter Name="Price" Type="Decimal" />
</UpdateParameters>
</asp:SqlDataSource>
<telerik:RadContextMenu ID="RadM1" runat="server" OnItemClick="RadM1_ItemClick"
EnableRoundedCorners="true" EnableShadows="true">
<Items>
<telerik:RadMenuItem Text="Thêm Mới">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Chỉnh Sửa">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Xóa Bỏ">
</telerik:RadMenuItem>
</Items>
</telerik:RadContextMenu>
</div>
</telerik:RadAjaxLoadingPanel>
</asp:Content>
và đây là aspx.cs
Mã:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Collections.Specialized;
namespace ContextMN
{
public partial class ContextMenu : System.Web.UI.Page
{
}
}
View more random threads:
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...