or
protected
void
MyAccountsGrid_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item.IsInEditMode)
{
// find the template control
}
}
<
telerik:RadGrid
ID
=
"MyAccountsGrid"
AllowSorting
=
"true"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"20"
AllowMultiRowSelection
=
"true"
AllowFilteringByColumn
=
"true"
EnableLinqExpressions
=
"true"
AllowAutomaticInserts
=
"false"
OnItemDataBound
=
"MyAccountsGrid_ItemDataBound"
>
<
MasterTableView
TableLayout
=
"Auto"
AutoGenerateColumns
=
"false"
AllowFilteringByColumn
=
"true"
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
ClientDataKeyNames
=
"Id,AccountNumber"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"true"
AddNewRecordText
=
"Add"
/>
<
telerik:GridTemplateColumn
HeaderText
=
"MyDDL"
UniqueName
=
"MyDDL"
>
<
HeaderTemplate
>
MyDDL
</
HeaderTemplate
>
<
ItemTemplate
>
<%# Eval("AccountType") %>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
ID
=
"accountTypeDDL"
runat
=
"server"
></
asp:DropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
Hi ,
I can't seem to bind the source from my datatable. It is not showing anything.
protected void grdDmnDocFolder_NeedDataSource(object o, GridNeedDataSourceEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("aaa");
dt.Columns.Add("ccc");
dt.Columns.Add("bbb");
DataRow dr = dt.NewRow();
dr["aaa"] = "a";
dr["bbb"] = "b";
dr["ccc"] = "c";
dt.Rows.Add(dr);
dt.Rows.Add(dr);
dt.Rows.Add(dr);
dt.Rows.Add(dr);
grdDmnDocFolder.DataSource = dt;
}
//Usercontrol – codebehind
protected void rgDuty_ItemCommand(object source, GridCommandEventArgs e)
{
switch (e.CommandName)
{
case RadGrid.InitInsertCommandName:
e.Canceled =true;
long positionDescriptionID = CurrentPDID;
script = string.Format("ShowDutyWindowClient('{0}','{1}');", "Insert", positionDescriptionID);
ScriptManager.RegisterStartupScript (this,this.GetType (),"showdutywindowClient" ,script,true );
break;
case RadGrid.EditCommandName :
e.Canceled = true;
gridItem = e.Item as GridDataItem;
int dutyID = int.Parse(gridItem.GetDataKeyValue("DutyID").ToString());
script = string.Format("ShowDutyWindowClient('{0}','{1}');", "Edit", dutyID);
ScriptManager.RegisterStartupScript (this,this.GetType (),"showdutywindowClient" ,script,true );
break;
default:
RGQualEnabled = true;
break;
}
}
}
//UserControl Design
<
telerik:RadWindowManager
ID
=
"radWindowManagerDuties"
runat
=
"server"
Behavior
=
"Default"
InitialBehavior
=
"None"
RegisterWithScriptManager
=
"true"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"rwPDDuties"
runat
=
"server"
RegisterWithScriptManager
=
"true"
Skin
=
"WebBlue"
Height
=
"600"
Width
=
"600"
Behaviors
=
"Close"
VisibleStatusbar
=
"false"
ReloadOnShow
=
"true"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
<
telerik:RadCodeBlock
ID
=
"rcbCodeBlock"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function ShowDutyWindowClient(mode, id) {
var navigateurl;
var title;
if (mode == "Insert") {
navigateurl = "~/CreatePD/AddEditDuty.aspx?mode=Insert&PositionDescriptionID=" + id;
title = "Add Duty";
}
else {
navigateurl = "~/CreatePD/AddEditDutyContent.aspx?mode=Update&DutyID=" + id;
title = "Edit Duty";
}
var oWnd = radopen(navigateurl, "rwPDDuties");
}
</
script
>
</
telerik:RadCodeBlock
>
<
telerik:GridDateTimeColumn
UniqueName
=
"ShipDate"
DataField
=
"ShipDate"
PickerType
=
"DatePicker"
HeaderText
=
"Ship Date"
DataFormatString
=
"{0:d}"
DataType
=
"System.DateTime"
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridDateTimeColumn
>
var
j = 0;
function
ship_date_selected(sender, eventArgs) {
var
date = eventArgs._newValue;
// prevent loop
// var chk = eventArgs._oldValue;
if
(j > 0) {
return
;
}
var
oldDate = eventArgs.get_oldDate();
var
thisItem = document.getElementById(
'txtItemID'
);
// date already for Item
var
theGrid = $find(
"<%=rgEditOrder.ClientID %>"
).get_masterTableView();
var
j = $find(
"<%=rgEditOrder.ClientID %>"
)._editIndexes[0];
var
editRow = theGrid.get_dataItems()[j];
var
thisStore = theGrid.getCellByColumnUniqueName(editRow,
"StoreNumber"
).innerHTML;
for
(
var
i = 0; i < theGrid.get_dataItems().length; i++) {
var
row = theGrid.get_dataItems()[i];
if
(!row.get_isInEditMode()) {
var
ItemID = theGrid.getCellByColumnUniqueName(row,
"ItemID"
).innerHTML;
var
storeNumber = theGrid.getCellByColumnUniqueName(row,
"StoreNumber"
).innerHTML;
// alert(ItemID);
if
(parseInt(ItemID) == parseInt(thisItem.value)) {
if
(parseInt(storeNumber) == parseInt(thisStore)) {
var
ShipDate = theGrid.getCellByColumnUniqueName(row,
"ShipDate"
).innerHTML;
// alert(ShipDate);
if
(Date.parse(date) == Date.parse(ShipDate)) {
alert(
'Date already used '
+ ShipDate);
sender.set_selectedDate(oldDate);
i = 9999;
return
false
;
}
}
}
}
}
var
strSD = format_dates(date);
if
(!delivery_ok(strSD)) {
j++;
sender.set_selectedDate(oldDate);
alert(
'Invalid delivery date'
);
return
false
;
}
}
// validate that date supplied falls in one of three ship windows
function
delivery_ok(strSD) {
var
endDate1 = document.getElementById(
'rtbEnd1'
);
var
endDate2 = document.getElementById(
'rtbEnd2'
);
var
endDate3 = document.getElementById(
'rtbEnd3'
);
var
startDate1 = document.getElementById(
'rtbStart1'
);
var
startDate2 = document.getElementById(
'rtbStart2'
);
var
startDate3 = document.getElementById(
'rtbStart3'
);
// add century(20) to ship dates-mm/dd/yy->mm/dd/yyyy
var
vDate1 = format_dates(startDate1.value);
var
vDate2 = format_dates(startDate2.value);
var
vDate3 = format_dates(startDate3.value);
var
vEnd1 = format_dates(endDate1.value);
var
vEnd2 = format_dates(endDate2.value);
var
vEnd3 = format_dates(endDate3.value);
if
(vDate1 !=
''
) {
if
(Date.parse(strSD) >= Date.parse(vDate1) && Date.parse(strSD) <= Date.parse(vEnd1)) {
return
true
;
}
}
if
(vDate2 !=
''
) {
if
(Date.parse(strSD) >= Date.parse(vDate2) && Date.parse(strSD) <= Date.parse(vEnd2)) {
return
true
;
}
}
if
(vDate3 !=
''
) {
if
(Date.parse(strSD) >= Date.parse(vDate3) && Date.parse(strSD) <= Date.parse(vEnd3)) {
return
true
;
}
}
return
false
;
}
// append century(20) to date-mm/dd/yy->mm/dd/yyyy
// validate that date is in correct format-if error found
// return blank string
function
format_dates(strDate) {
var
i = 0;
var
arrDate;
// this routine makes no sense
for
(i = 0; i < 3; i++) {
if
(strDate.indexOf(
"/"
) != -1) {
arrDate = strDate.split(
"/"
);
if
(arrDate.length != 3) {
return
""
;
}
}
else
{
return
""
;
}
}
// prefix the year with century-hardcoded 20
var
ye =
"20"
+ arrDate[2].substring(arrDate[2].length - 2);
var
month = Number(arrDate[0]);
var
day = Number(arrDate[1])
// check month and day-month between 1 and 12,day between 1 and 31
// except April,June,September and November-and February
if
(month < 1 || month > 12) {
return
""
; }
if
(day < 1 || day > 31) {
return
""
; }
if
((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
return
""
;
}
// February-check against leap year
if
(month == 2) {
var
isleap = (ye % 4 == 0 && (ye % 100 != 0 || ye % 400 == 0));
if
(day > 29 || (day == 29 && !isleap)) {
return
""
; }
}
// no date errors encountered-rebuild date and return
var
strD = Number(arrDate[0]) +
"/"
+ Number(arrDate[1]) +
"/"
+ ye;
return
strD;
}
protected void rgEditOrder_ItemCreated(object source, GridItemEventArgs e)
{
GridEditableItem geItem;
// GridDataItem gdItem;
RadDatePicker rdpShipDate;
GridDateTimeColumnEditor ceShipDate;
TableCell tcShipDate;
CustomValidator cvShipDate;
RadNumericTextBox rntbQty;
// int MinQty;
if
(e.Item.IsInEditMode)
{ }
else
return
;
if
(e.Item is GridEditableItem)
{ }
else
return
;
geItem = (GridEditableItem)e.Item;
rdpShipDate = (geItem[
"ShipDate"
].Controls[0] as RadDatePicker);
rdpShipDate.ClientEvents.OnDateSelected =
"ship_date_selected"
;
rdpShipDate.AutoPostBack =
true
;
rdpShipDate.SelectedDateChanged += rdpShipDate_SelectedDateChanged;
txtShipDate.Value = rdpShipDate.ClientID;
ceShipDate = geItem.EditManager.GetColumnEditor(
"ShipDate"
) as GridDateTimeColumnEditor;
tcShipDate = (TableCell)ceShipDate.PickerControl.Parent;
cvShipDate =
new
CustomValidator();
cvShipDate.ID =
"cvShipDate"
;
cvShipDate.ControlToValidate = rdpShipDate.ID;
cvShipDate.ServerValidate += ShipDate_OnServerValidate;
cvShipDate.Text =
"*"
;
cvShipDate.ErrorMessage =
"Item already ordered on this ship date"
;
tcShipDate.Controls.Add(cvShipDate);
}