Hi all, I wanted to use a radgrid as a way to enter data for a couple columns (Using DropDown's) and the CommandItem as the button to insert new rows.
I don't want to attach a Datasource to this, I just want to enter data, then loop through the rows and insert to SQL. I saw other posts about this with no answer or links to broken pages.
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateEditColumn="True" CellSpacing="0" GridLines="None">
<ClientSettings>
<Selecting AllowRowSelect="True" />
</ClientSettings>
<MasterTableView AutoGenerateColumns="False" CommandItemDisplay="Top" DataSourceID="sdsDisks">
<Columns>
<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
</telerik:GridEditCommandColumn>
<telerik:GridDropDownColumn FilterControlAltText="Filter Disk_Speed column" HeaderText="Disk Speed" UniqueName="Disk_Speed">
<ColumnValidationSettings>
<ModelErrorMessage Text="" />
</ColumnValidationSettings>
</telerik:GridDropDownColumn>
<telerik:GridDropDownColumn FilterControlAltText="Filter Disk_Size_In_GB column" HeaderText="Disk Size in GB" UniqueName="Disk_Size_In_GB">
<ColumnValidationSettings>
<ModelErrorMessage Text="" />
</ColumnValidationSettings>
</telerik:GridDropDownColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn1 column" UniqueName="EditCommandColumn1">
</EditColumn>
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
hi,
i want to add some custom information in image manager upload panel. in image manager upload panel ,there is information like max file size allowed,File extension allowed. i also want add some message below or above this message and i want to remove override check box because i always rename the uploaded file to unique name . please see the attachment.
how can we do that ?
Thanks on advance.
BesT LoLo
GridDropDownColumn - is it possible to set datasource instead of datasourceID?
In the sample I see
DataSourceID="SqlDataSource4"
But I'd like to bind the column in the code behind.
Our situation is a little unique. We have developed a framework which allows us to create dynamic grids that load based on the customer's needs and everything is generated on the pageinit and then loaded into a placeholder.
Right now we have to bind our dropdowns in the itemdatabound, which works but we could easily build it all in if we could set the datasource rather than just a datasourceid (but maybe there's a solution?)
Here's our method that creates the dropdown column (method is called in a foreach loop that loops through each column that needs to be generated, the code below is just one method of many that generates different column controls):
/// <summary>
/// Generates a dropdown field
/// </summary>
/// <param name="grid">radgrid where column is added</param>
/// <param name="column">column properties</param>
private
static
void
CreateDropdownCol(RadGrid grid, SCSowFormColumn column)
{
List<TableStructure> testList =
new
List<TableStructure>();
GridDropDownColumn col =
new
GridDropDownColumn();
col.UniqueName = column.SCSFC_Name;
col.DataField = column.SCSFC_Name;
col.HeaderText = column.SCSFC_ColumnHeaders;
col.FilterControlWidth = Unit.Pixel(column.SCSFC_Width - 35);
col.HeaderStyle.Width = Unit.Pixel(column.SCSFC_Width);
col.AllowFiltering = column.SCSFC_AllowFilter;
if
(column.SCSFC_Required)
{
col.ColumnValidationSettings.EnableRequiredFieldValidation = column.SCSFC_Required;
col.ColumnValidationSettings.RequiredFieldValidator.InitialValue =
"(Select...)"
;
//initial value is the text that is displayed
col.ColumnValidationSettings.RequiredFieldValidator.ErrorMessage =
" *Required"
;
col.ColumnValidationSettings.RequiredFieldValidator.Display = ValidatorDisplay.Dynamic;
col.ColumnValidationSettings.RequiredFieldValidator.CssClass =
"IPROD_ERROR_MESSAGE"
;
}
//checkto see if the column should be shown in itemview mode
col.Display = !column.SCSFC_DoNotDisplay;
//check to see if the column should be shown in edit mode
col.ReadOnly = column.SCSFC_ReadOnly;
//WOULD BE NICE IF WE COULD DO:
//List<TestList> list = new List<TestList>();
//col.DataSource = list;
//col.ListTextField = "Name";
//col.ListValueField = "ID";
//multi column single line edit forms
col.EditFormColumnIndex = column.SCSFC_ColumnIndex;
grid.MasterTableView.Columns.Add(col);
}
Anyone have any ideas?
Could any one provide a sample online page implementing rad grid with a detail table and custom paging. Both rad grid and detail table should have custom paging. I need an example with need data source event. I would like to see the following things working:
1. Get pagination working in detail table
2. Ability to change the page size and read new page size value in Need data source event.
Any help is greatly appreciated.
Thanks
Ramana
Environment:
ASP.NET 2.0
Telerik Web 2010 Q3 (Telerik.Web.UI_2010_3_1317_Dev.msi)
The popup calendar on my RadDatepicker is not displaying properly in Chrome. See attached image.
The calendar works fine in IE.
I have come across a problem with the editor when adding a table or using the table wizard over chrome browser.
We have recently upgraded the telerik controls from V 2013 to v2015.1.401. After upgrade new version that some functionality are messed up in chrome browser like Image and Tables resize functionality by dragging is not working. Please follow below points to reproduce the issue.
On the Editor page,
from Design view go to HTML view,switch back to Design view, add a table or use table wizard.
Then try to increase/decrease table size with mouse.That Mouse/cursor is not left that table position.
Please refer link : http://screencast.com/t/UMOa20tGyv
The above issue found on on telerik demo site as well.
I have RadAsyncUpload control defined as following:
the PostbackTriggers property works fine if I have clicked the button "btnSave", but in some case I need to simulate the button click automatically,
None of the following javascript or JQuery methods solved my problem , they fire the click event but the files collections is always empty
function SaveMeeting() {
document.getElementById('ctl00_PageBody_btnSave').onclick();
//$('.btnSave').focus();
//$('.btnSave').click();
//$('.btnSave').trigger('click');
}
<
telerik:RadAsyncUpload
Font-Size
=
"Medium"
ID
=
"RadAsyncUpload1"
runat
=
"server"
OnClientFilesUploaded
=
"OnClientFilesUploaded"
OnClientFileUploaded
=
"onClientFileUploaded"
OnClientFileUploading
=
"OnClientFileUploading
OnClientFileUploadFailed
=
"OnClientFileUploadFailed"
OnClientFileUploadRemoving
=
"onClientFileUploadRemoving
OnClientFileUploadRemoved
=
"onClientFileUploadRemoved"
MultipleFileSelection
=
"Automatic"
PostbackTriggers
=
"btnSave"
HttpHandlerUrl
=
"~/UploadDocFileHandler.ashx"
Height
=
"16px"
>
</
telerik:RadAsyncUpload
>
I am having an issue with using a RadTooltipManager on RadTreeView nodes here is related code - this sits inside a user control:
<asp:HiddenField runat="server" id ="ResourceToolTip"/>
<telerik:RadToolTipManager
ID="RadTooltipManager1"
runat="server"
AutoTooltipify="False"
Position="TopCenter"
EnableViewState="False"
OnAjaxUpdate="RadTooltipManager1_AjaxUpdate">
</telerik:RadToolTipManager>
<telerik:RadTreeView
runat="server"
ID="tvResourceKitBundles"
OnClientContextMenuShowing="onClientResourceTreeContextMenuShowing"
OnClientContextMenuItemClicking="onClientResourceTreeContextMenuItemClicking"
OnClientMouseOver="onNodeMouseOverResourceTree"
OnClientMouseOut="onNodeMouseOut"
OnClientNodeDragStart="onResourceKitDragStart"
OnClientNodeDropping="onNodeDropping"
OnContextMenuItemClick="tvResourceKitBundles_ContextMenuItemClick"
OnNodeEdit="tvResourceKitBundles_NodeEdit"
OnNodeDrop="tvResourceKitBundles_OnNodeDrop"
EnableDragAndDrop="True"
EnableDragAndDropBetweenNodes="true">
<ContextMenus>
<telerik:RadTreeViewContextMenu ID="tvResourceKitContextMenu" runat="server">
<Items>
<telerik:RadMenuItem Value="Rename" Text="Rename"></telerik:RadMenuItem>
<telerik:RadMenuItem Value="Edit" Text="Edit"></telerik:RadMenuItem>
<telerik:RadMenuItem Value="Delete" Text="Delete"></telerik:RadMenuItem>
<telerik:RadMenuItem Value="Add Hyperlink" Text="Add Hyperlink"></telerik:RadMenuItem>
<telerik:RadMenuItem Value="Alphabetize Resources" Text="Alphabetize Resources"></telerik:RadMenuItem>
<telerik:RadMenuItem Value="Featured" Text="Make Final Output" Visible="False"></telerik:RadMenuItem>
</Items>
</telerik:RadTreeViewContextMenu>
</ContextMenus>
</telerik:RadTreeView>
function onNodeMouseOverResourceTree(sender, args) {
//gets the node upon mousing over the node
currentNode = args.get_node();
currentTree = "resourceTree";
if (currentNode.get_level() == 1) {
$get("<%=ResourceToolTip.ClientID%>").value = currentNode.get_value();
showToolTip(sender._element);
}
}
function showToolTip(element) {
var tooltipManager = $find("<%=RadTooltipManager1.ClientID%>");
//If the user hovers the image before the page has loaded, there is no manager created
if (!tooltipManager) return;
//Find the tooltip for this element if it has been created
var tooltip = tooltipManager.getToolTipByElement(element);
//Create a tooltip if no tooltip exists for such element
if (!tooltip) {
tooltip = tooltipManager.createToolTip(element);
}
tooltip.show();
}
Code behind:
//this gets called on page load
foreach (var resource in resources)
{
//build new node
var node = new RadTreeNode(resource.Title, resource.ResourceID.ToString());
node.ImageUrl = "/ImageResize.aspx?img=" + resource.FileIcon + "&h=16&w=16";
node.Attributes.Add("ResourceFileID", resource.ResourceFileID.ToString());
node.Attributes["id"] = Guid.NewGuid().ToString();
RadTooltipManager1.TargetControls.Add(node.Attributes["id"], node.Value, true);
if (resource.IsFeatured)
{
node.BackColor = ColorTranslator.FromHtml("#EE7026");
}
else
{
node.BackColor = Color.White;
}
//add new node tree
nodes.Add(node);
//and this is the ajax update
protected void RadTooltipManager1_AjaxUpdate(object sender, ToolTipUpdateEventArgs e)
{
try
{
var resource = new Resource(SQLData.GetDBInt(ResourceToolTip.Value));
Label lbl = new Label();
lbl.ID = "lblResourceToolTip";
if (resource.ResourceFileID > 0)
lbl.Text = resource.ResourceFile.FileName;
else
{
lbl.Text = Path.GetFileName(resource.URLToFile);
}
e.UpdatePanel.ContentTemplateContainer.Controls.Add(lbl);
}
catch
{
}
}
So everything mostly works however when I quickly hover over a list of nodes it will start firing invalid viewstate errors - though it seems generally to continue to work - any way "I can avoid these viewstate errors? I'm thinking it's just firing too many ajax postbacks too fast when you run your mouse over multiple nodes at once - I've considered switching to the web service method for doing this but figured I'd see if there was a simple solution. Also, I don't necessarily need this to be dynamic but when I tried to use the tooltipify set to true and load each node.tooltip value on page load it does not work for me. Thanks
Hi,
Based on appointment type, I need to display the appointments in different colors.
My "GetAppointments" method looks like this:
Public
Overrides
Function
GetAppointments(
ByVal
p_oSchedulerInfo
As
ISchedulerInfo)
As
IEnumerable(Of Appointment)
Dim
l_oScheduleInfo = TryCast(p_oSchedulerInfo, wsScheduleInfo)
Dim
l_sScheduleIDs
As
String
= l_oScheduleInfo.ScheduleIDs
Dim
l_aAppointments
As
New
List(Of Appointment)()
Using l_oDP
As
New
wsDataProvider
Using l_oSystem
As
New
wsSystemGeneral(l_oDP)
Dim
l_sSql
As
String
=
"select * from `PlanningTaskBlocks` where `numScheduleID` in ("
& l_sScheduleIDs &
") order by `numTaskID` asc"
Using l_oDR
As
IDataReader = l_oDP.ExecuteReader(l_sSql)
If
l_oDR IsNot
Nothing
Then
Dim
l_oAppointment
As
Appointment =
Nothing
, l_iTaskID
As
Long
= 0
Dim
l_sTask
As
String
=
Nothing
, l_sColor
As
String
=
Nothing
, l_iAgeMin
As
Integer
= 18, l_iAgeMax
As
Integer
= 99, l_sGender
As
String
=
"X"
While
l_oDR.Read
If
l_iTaskID <> l_oDR(
"numTaskID"
)
Then
Using l_oDRtask
As
IDataReader = l_oDP.ExecuteReader(
"select * from `PlanningTasks` where `ID` = "
& l_oDR(
"numTaskID"
) &
" limit 1"
)
If
l_oDRtask IsNot
Nothing
Then
If
l_oDRtask.Read
Then
l_sTask = l_oDRtask(
"txtName"
)
l_sColor = l_oDRtask(
"txtColor"
)
l_iAgeMin = l_oDRtask(
"numAgeMin"
)
l_iAgeMax = l_oDRtask(
"numAgeMax"
)
l_sGender = l_oDRtask(
"txtGender"
)
End
If
If
Not
l_oDRtask.IsClosed
Then
l_oDRtask.Close()
End
If
End
Using
l_iTaskID = l_oDR(
"numTaskID"
)
End
If
l_oAppointment =
New
Appointment
l_oAppointment.ID = l_oDR(
"ID"
)
l_oAppointment.Subject = Convert.ToString(l_sTask)
l_oAppointment.Start = DateTime.SpecifyKind(Convert.ToDateTime(l_oDR(
"dateStart"
)), DateTimeKind.Utc)
l_oAppointment.[
End
] = DateTime.SpecifyKind(Convert.ToDateTime(l_oDR(
"dateEnd"
)), DateTimeKind.Utc)
l_oAppointment.BackColor = System.Drawing.ColorTranslator.FromHtml(l_sColor)
l_oAppointment.Attributes(
"TaskID"
) = Convert.ToString(l_oDR(
"numTaskID"
))
l_oAppointment.Attributes(
"TaskPoints"
) = Convert.ToString(l_oDR(
"numTaskPoints"
))
l_oAppointment.Attributes(
"NumberOfPlaces"
) = Convert.ToString(l_oDR(
"numNumberOfPlaces"
))
l_oAppointment.Attributes(
"AgeMin"
) = Convert.ToString(l_iAgeMin)
l_oAppointment.Attributes(
"AgeMax"
) = Convert.ToString(l_iAgeMax)
l_oAppointment.Attributes(
"Gender"
) = Convert.ToString(l_sGender)
'LoadResources(l_oAppointment)
l_aAppointments.Add(l_oAppointment)
End
While
If
Not
l_oDR.IsClosed
Then
l_oDR.Close()
End
If
End
Using
End
Using
End
Using
Return
l_aAppointments
End
Function
As you can see, I'm setting the BackColor property on every Appointment instance.
However, the Appointment.BackColor property is ignored and all appointsments are displayed with the same color in the RadScheduler.
What do I need to do to 'push' my custom colors through the webservice to the scheduler?