protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
// rg is the RadGrid
if (rg != null)
{
if (e.Argument == string.Empty)
{
rg.Rebind();
}
string[] editedItemIds = e.Argument.Split(':');
int i;
for (i = 0; i <= editedItemIds.Length - 2; i++)
{
try
{
Guid itemId = Guid.Parse(editedItemIds[i]);
//This is the row that give the problem
GridDataItem updatedItem = rg.MasterTableView.FindItemByKeyValue("ArticoloId", itemId);
UpdateValues(itemId, updatedItem);
}
catch
{
}
}
rg.Rebind();
}
}
As told before the rg.MasterTableView.Items collection is empty and so the method "FindItemByKeyValue" does not never return any value.
I follow your example at
http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/clienteditbatchupdates/defaultcs.aspx
Your help will be much appreciated.
Thanks in advance.
grd.SelectedItems[0].Cells[1].Text
but this doesn't return anything at runtime, regardless of the index I use for the cells collection.<
script
type
=
"text/javascript"
>
function ManualValueChange(sender, eventArgs) {
$get("CalcSlider").value = sender.get_newValue();
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"PpAjaxManager"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"CalcSlider"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"CalcSliderDeposit"
UpdatePanelRenderMode
=
"Inline"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblYouHave"
UpdatePanelRenderMode
=
"Inline"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblprofit"
UpdatePanelRenderMode
=
"Inline"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"CalcSliderDeposit"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"CalcSlider"
UpdatePanelRenderMode
=
"Inline"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblYouHave"
UpdatePanelRenderMode
=
"Inline"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"lblprofit"
UpdatePanelRenderMode
=
"Inline"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
div
class
=
"typeCalc"
>
<
br
/>
<
table
style
=
"width: 640px; margin: 0 auto;"
>
<
tr
>
<
td
colspan
=
"2"
style
=
"height: 20px; text-align: center"
>
<
h3
>
BondMarketers Invest Plan</
h3
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
style
=
"height: 80px; border-top: 1px solid gray; text-align: center"
>
<
telerik:RadSlider
ID
=
"CalcSlider"
runat
=
"server"
Skin
=
"Black"
MinimumValue
=
"0"
MaximumValue
=
"10000"
LargeChange
=
"2000"
SmallChange
=
"10"
Width
=
"650px"
Height
=
"65px"
ItemType
=
"Tick"
TrackPosition
=
"TopLeft"
AnimationDuration
=
"600"
ShowDragHandle
=
"false"
OnValueChanged
=
"CalcSliderValueChanged"
AutoPostBack
=
"true"
>
</
telerik:RadSlider
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
style
=
"height: 20px"
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"width: 200px; text-align: center"
>
Invest:
</
td
>
<
td
>
<
telerik:RadNumericTextBox
runat
=
"server"
ID
=
"CalcSliderDeposit"
Type
=
"Currency"
Culture
=
"en-US"
DataType
=
"System.Decimal"
AutoPostBack
=
"true"
>
<
ClientEvents
OnValueChanged
=
"ManualValueChange"
OnLoad
=
"ManualValueChange"
/>
</
telerik:RadNumericTextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
style
=
"height: 20px"
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"width: 200px; text-align: center"
>
<
asp:Label
runat
=
"server"
ID
=
"lblYouHave"
/>
</
td
>
<
td
>
<
asp:Label
runat
=
"server"
ID
=
"lblprofit"
Font-Bold
=
"True"
Font-Size
=
"Larger"
ForeColor
=
"Green"
/>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
style
=
"height: 20px"
>
</
td
>
</
tr
>
</
table
>
</
div
>
protected
void
CalcSliderValueChanged(
object
sender, EventArgs e)
{
double
percent = FormulaLayer.FormulaValue((
decimal
)CalcSlider.Value);
decimal
deposit = (
decimal
)CalcSlider.Value;
int
percents = 100;
DateTime sDate = DateTime.Now;
DateTime eDate = DateTime.Now.AddDays(365);
CalcSliderDeposit.Value = Convert.ToDouble(deposit);
lblYouHave.Text =
"You have: "
;
lblprofit.Text =
string
.Format(
"${0}"
, ((Convert.ToDouble(deposit) / percents) * percent * Convert.ToDouble(FormulaLayer.GetWorkDayCount(sDate, eDate)) + Convert.ToDouble(CalcSlider.Value)));
}
<
telerik:RadGrid
ID
=
"grdPubList"
runat
=
"server"
Skin
=
"Office2007"
GridLines
=
"None"
AutoGenerateColumns
=
"False"
AllowNaturalSort
=
"false"
CellSpacing
=
"0"
>
<
HeaderStyle
Width
=
"100px"
HorizontalAlign
=
"Center"
/>
<
ClientSettings
>
<
Selecting
CellSelectionMode
=
"None"
></
Selecting
>
</
ClientSettings
>
<
MasterTableView
AllowMultiColumnSorting
=
"true"
ShowHeadersWhenNoRecords
=
"false"
>
<
NoRecordsTemplate
/>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridTemplateColumn
ItemStyle-Width
=
"250px"
HeaderStyle-Width
=
"250px"
ItemStyle-HorizontalAlign
=
"Left"
ItemStyle-VerticalAlign
=
"Top"
HeaderText
=
"Publication Name"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblPubId"
runat
=
"server"
Text='<%# DataBinder.Eval(Container, "DataItem.PubID").ToString() %>'
CssClass="label_default_nb" Visible="false"></
asp:Label
>
<
asp:Label
ID
=
"lblPubName"
runat
=
"server"
Text='<%# DataBinder.Eval(Container, "DataItem.Name").ToString() %>'
CssClass="label_default_nb"></
asp:Label
>
</
ItemTemplate
>
<
HeaderStyle
Width
=
"250px"
></
HeaderStyle
>
<
ItemStyle
HorizontalAlign
=
"Left"
VerticalAlign
=
"Top"
Width
=
"250px"
></
ItemStyle
>
</
telerik:GridTemplateColumn
>
<%--<
telerik:GridBoundColumn
HeaderText
=
"Practice Area"
DataField
=
"departmentDescription"
AllowSorting
=
"false"
ItemStyle-HorizontalAlign
=
"Left"
ItemStyle-VerticalAlign
=
"Top"
ItemStyle-Width
=
"100px"
HeaderStyle-Width
=
"50px"
>
<
HeaderStyle
Width
=
"50px"
></
HeaderStyle
>
<
ItemStyle
HorizontalAlign
=
"Left"
VerticalAlign
=
"Top"
Width
=
"100px"
></
ItemStyle
>
</
telerik:GridBoundColumn
>--%>
<%--<
telerik:GridTemplateColumn
ItemStyle-HorizontalAlign
=
"Center"
ItemStyle-Wrap
=
"False"
ItemStyle-VerticalAlign
=
"Top"
HeaderText="Modified <br> By/Date" UniqueName="ModifiedByDate"
ItemStyle-Width="100px" HeaderStyle-Width="100px">
<
ItemTemplate
>
<
asp:Label
ID
=
"lblUserModified"
runat
=
"server"
Text='<%# DataBinder.Eval(Container, "DataItem.userModified").ToString() %>'
CssClass="label_default_nb" Width="100px"></
asp:Label
>
<
asp:Label
ID
=
"lblDateModified"
runat
=
"server"
Text='<%# DataBinder.Eval(Container, "DataItem.dateModifiedStr").ToString() %>'
CssClass="label_default_nb" Width="100px"></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>--%>
<
telerik:GridTemplateColumn
FilterControlAltText
=
"Filter TemplateColumn1 column"
HeaderText
=
"Format"
UniqueName
=
"typeDescription"
DataField
=
"typeDescription"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblPubType"
runat
=
"server"
Text='<%# DataBinder.Eval(Container, "DataItem.typeDescription").ToString() %>'
CssClass="label_default_nb"></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Subscribe"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"radchkSubscribe"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Unsubscribe"
>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"radchkUnsubscribe"
runat
=
"server"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
>
</
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
</
telerik:RadGrid
>
Private Sub grdPubList_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles grdPubList.ItemCreated
If TypeOf e.Item Is GridDataItem Then
Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
Dim chk1 As CheckBox = DirectCast(item.FindControl("radchkSubscribe"), CheckBox)
Dim chk2 As CheckBox = DirectCast(item.FindControl("radchkUnsubscribe"), CheckBox)
'Dim chk3 As CheckBox = DirectCast(item.FindControl("CheckBox3"), CheckBox)
chk1.Attributes.Add("onclick", (("checkUncheck('" + chk1.ClientID & "','") + chk2.ClientID & "',')"))
End If
End Sub
<script type=
"text/javascript"
>
function
checkUncheck(c1, c2) {
var
ch1 = document.getElementById(c1);
var
ch2 = document.getElementById(c2);
if
(ch1.checked) {
ch2.checked =
true
;
}
else
{
ch2.checked =
false
;
}
}
</script>
function
RefreshCsiOptions(sender) {
switch
(sender.type) {
case
"radio"
:
if
(sender.checked ==
true
) {
for
(i = 0; i < cbxCSI.length; i++) {
var
z = rcbCSI[i];
if
(rcbCSI[i].get_selecteditem().get_value() !=
""
) { rcbCSI[i].disabled =
"disabled"
; }
else
{ cbxCSI[i].disabled =
true
; }
cbxCSI[i].checked =
false
;
}
lblWithoutCSI.disabled =
""
;
}
break
;
case
"checkbox"
:
var
cbxNumber = sender.id.substr(6, 1);
if
(sender.checked ==
true
) {
rcbCSI[cbxNumber - 1].disabled =
""
;
lblWithoutCSI.disabled =
"disabled"
;
rbWITHOUT.checked =
false
;
}
else
{
rcbCSI[cbxNumber - 1].disabled =
"disabled"
;
}
CheckWithoutStatus();
break
;
case
"select-one"
:
var
rcbNumber = sender.id.substr(14, 1);
if
(rcbNumber ==
"_"
) rcbNumber =
"0"
;
var
rcbValue = rcbCSI[rcbNumber].get_selecteditem().get_value();
document.Form1.elements[
'CSI'
+ rcbNumber +
'_value'
].value = rcbValue;
if
(rcbValue !=
""
) {
cbxCSI[rcbNumber].disabled =
false
;
cbxCSI[rcbNumber].checked =
true
;
if
(rbWITHOUT.checked ==
true
) rbWITHOUT.checked =
false
;
}
else
{
cbxCSI[rcbNumber].disabled =
true
;
cbxCSI[rcbNumber].checked =
false
;
CheckWithoutStatus();
}
break
;
default
:
//alert(sender.type);
break
;
}
}