| <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="TestBed.Site1" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title></title> |
| <asp:ContentPlaceHolder ID="head" runat="server"> |
| </asp:ContentPlaceHolder> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> |
| <script type="text/javascript"> |
| function OpenPopup() { |
| var wnd = $find("<%=Popup.ClientID %>"); |
| wnd.show(); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| <div> |
| <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> |
| </asp:ContentPlaceHolder> |
| </div> |
| <telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin="WebBlue"> |
| <Windows> |
| <telerik:RadWindow ID="Popup" runat="server" |
| Animation="None" |
| Width="400px" |
| Height="400px" |
| VisibleStatusbar="false" |
| NavigateUrl="http://www.google.com" |
| KeepInScreenBounds="true" |
| Modal="true"></telerik:RadWindow> |
| </Windows> |
| </telerik:RadWindowManager> |
| </form> |
| </body> |
| </html> |
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="TestBed.WebForm2" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" > |
| <head runat="server"> |
| <title></title> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> |
| <script type="text/javascript"> |
| function GetRadWindow() { |
| var oWindow = null; |
| if (window.radWindow) |
| oWindow = window.radWindow; |
| else if (window.frameElement.radWindow) |
| oWindow = window.frameElement.radWindow; |
| return oWindow; |
| } |
| function OpenPopup() { |
| var wnd = GetRadWindow().BrowserWindow; |
| wnd.OpenPopup(); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| <asp:Button runat="server" ID="btn2" Text="Click" OnClientClick="OpenPopup(); return false;" /> |
| </form> |
| </body> |
| </html> |
| <%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="TestBed.WebForm1" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> |
| </asp:Content> |
| <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> |
| <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> |
| <script type="text/javascript"> |
| function Click() { |
| radopen(null, 'RadWindow1'); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| <asp:Button ID="btn" runat="server" Text="Click" OnClientClick="Click(); return false;" /> |
| <telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin="WebBlue"> |
| <Windows> |
| <telerik:RadWindow ID="RadWindow1" runat="server" |
| Animation="None" |
| Width="600px" |
| Height="100px" |
| VisibleStatusbar="false" |
| Left="50px" |
| Top="50px" |
| NavigateUrl="WebForm2.aspx" |
| KeepInScreenBounds="true" |
| Modal="true"> |
| </telerik:RadWindow> |
| </Windows> |
| </telerik:RadWindowManager> |
| </asp:Content> |
Hello I have a little issue here. I am trying to link an item in my grid via its id but at the same time displaying its name instead. Basiclay I have items in my sql table with names like IBM, NRC, and so on, each one has its unique id. While I did manage to get this querystring to work I have to use an additional hyerlinked column. I want to use just the name to link to the next page. Thank you,
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:harwoodConnectionString %>"
SelectCommand="SELECT top 3 [NewsArticleID], [NewsArticleName] FROM [NewsArticles]
order by enddate desc"></asp:SqlDataSource>
<telerik:RadGrid ID="RadGrid1" runat="server" Skin="" DataSourceID="SqlDataSource1" GridLines="None" ShowHeader="false">
<HeaderContextMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</HeaderContextMenu>
<MasterTableView AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="NewsArticleName"
HeaderText="NewsArticleName" SortExpression="NewsArticleName"
UniqueName="NewsArticleName">
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn ItemStyle-HorizontalAlign="Right" DataTextFormatString=" read more..." DataNavigateUrlFields="NewsArticleID"
UniqueName="NewsArticleID" DataNavigateUrlFormatString="~/NewsArticle.aspx?NewsArticleID={0}"
DataTextField="NewsArticleID">
</telerik:GridHyperLinkColumn>
</Columns>
| private void PopulateAddressTabs() |
| { |
| string tmpTabName = ""; |
| AddressMultiPage.PageViews.Clear(); |
| if (partyID > 0) |
| { |
| var db = new PartyDataContext(); |
| var addresses = db.PartyAddressesGet(partyID); |
| foreach (var address in addresses) |
| { |
| if (address.AddressType != null) |
| tmpTabName = (string)GetLocalResourceObject("AddressType" + address.AddressType.id.ToString()); |
| else |
| tmpTabName = (string)GetLocalResourceObject("AddressType0"); |
| AddTab(tmpTabName, "EditAddress" + address.id.ToString(), address.id, false); |
| } |
| } |
| AddTab((string)GetLocalResourceObject("NewAddress"), "NewAddress", -1, true); |
| } |
| private void AddTab(string tabName, string tabID, int addrID, bool isInsert) |
| { |
| RadTab tab = new RadTab(); |
| tab.Text = tabName; |
| AddressTabStrip.Tabs.Add(tab); |
| PartyAddress userControl = (PartyAddress)LoadControl("~/Party/UserControls/PartyAddress.ascx"); |
| userControl.AddressID = addrID; |
| userControl.IsInsert = isInsert; |
| userControl.PartyID = partyID; |
| userControl.ID = tabID + "_userControl"; |
| RadPageView pageView = new RadPageView(); |
| pageView.ID = tabID; |
| pageView.Controls.Add(userControl); |
| AddressMultiPage.PageViews.Add(pageView); |
| } |
| If e.CommandName = "ExpandCollapse" Then |
| For Each item As GridItem In e.Item.OwnerTableView.Items |
| If item.Expanded = True Then |
| item.Expanded = False |
| End If |
| Next |
| End If |
Hi,
I'm using a demo call update/insert/delete when the EnableViewState property of the grid is set to false.
If i press cancel button ni editform anyway insert record.
Wha can i do?
Regards...
protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.UpdateCommandName)
{
RadGrid1.DataSource =
null;
}
else if (e.CommandName == RadGrid.EditCommandName)
{
Session[
"initEdit"] = true;
Session[
"updateFlag"] = true;
}
else if (e.CommandName == RadGrid.InitInsertCommandName)
{
Session[
"insertFlag"] = true;
}
else if(e.CommandName == RadGrid.DeleteCommandName)
{
string ID = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"].ToString();
DataTable employeesTable = (DataTable)Session["employeesTable"];
if (employeesTable.Rows.Find(ID) != null)
{
employeesTable.Rows.Find(ID).Delete();
employeesTable.AcceptChanges();
Session[
"employeesTable"] = employeesTable;
}
}
}
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
if(Session["updateFlag"] != null && Session["initEdit"] != null)
{
DataTable employeesTable = (DataTable)Session["employeesTable"];
for (int i = 0; i < RadGrid1.EditIndexes.Count; i++)
{
GridDataItem dataItem = RadGrid1.MasterTableView.Items[RadGrid1.EditIndexes[i]] as GridDataItem;
GridEditableItem editItem = (dataItem.OwnerTableView.EditMode == GridEditMode.InPlace) ? (GridEditableItem)dataItem : (GridEditableItem)dataItem.EditFormItem;
GridEditManager mng = editItem.EditManager;
foreach (GridColumn column in dataItem.OwnerTableView.Columns)
{
if (column is IGridEditableColumn)
{
IGridEditableColumn editedColumn = column as IGridEditableColumn;
IGridColumnEditor editor = mng.GetColumnEditor(editedColumn);
string editorType = editor.ToString();
string editorText = null;
if (editor is GridTextColumnEditor)
{
editorText = (editor
as GridTextColumnEditor).Text;
}
try
{
DataRow[] changedRows = employeesTable.Select("EmployeeID = " + editItem.OwnerTableView.DataKeyValues[editItem.ItemIndex]["EmployeeID"]);
changedRows[0][column.UniqueName] = editorText;
}
catch (Exception ex)
{
RadGrid1.Controls.Add(
new LiteralControl("Unable to update Employee. Reason: " + ex.Message));
}
}
}
}
employeesTable.AcceptChanges();
Session[
"employeesTable"] = employeesTable;
Session[
"updateFlag"] = false;
Session[
"editIndex"] = null;
}
else if (Session["insertFlag"] != null)
{
DataTable employeesTable = (DataTable)Session["employeesTable"];
DataRow newRow = employeesTable.NewRow();
GridEditableItem insertItem = RadGrid1.MasterTableView.GetInsertItem();
GridEditManager mng = insertItem.EditManager;
foreach (GridColumn column in insertItem.OwnerTableView.Columns)
{
if (column is IGridEditableColumn)
{
IGridEditableColumn editedColumn = column as IGridEditableColumn;
IGridColumnEditor editor = mng.GetColumnEditor(editedColumn);
string editorType = editor.ToString();
string editorText = null;
if (editor is GridTextColumnEditor)
{
editorText = (editor
as GridTextColumnEditor).Text;
}
try
{
newRow[column.UniqueName] = editorText;
}
catch (Exception ex)
{
RadGrid1.Controls.Add(
new LiteralControl("Unable to insert into Employees. Reason: " + ex.Message));
}
}
}
//This should not be applied when updating directly the database
newRow[
"EmployeeID"] = (int)employeesTable.Rows[employeesTable.Rows.Count - 1]["EmployeeID"] + 1;
employeesTable.Rows.Add(newRow);
Session[
"employeesTable"] = employeesTable;
Session[
"insertFlag"] = null;
}
Session[
"initEdit"] = null;
RadGrid1.DataSource = (
DataTable)Session["employeesTable"];
}