6 Answers, 1 is accepted
0

Princy
Top achievements
Rank 2
answered on 21 Sep 2013, 04:32 AM
Hi Troika,
Please try the following code snippet to disable a checkbox list in Edit Mode.
ASPX:
C#:
Thanks,
Princy
Please try the following code snippet to disable a checkbox list in Edit Mode.
ASPX:
<
EditItemTemplate
>
<
asp:CheckBoxList
ID
=
"CheckBoxList1"
runat
=
"server"
>
</
asp:CheckBoxList
>
</
EditItemTemplate
>
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditFormItem && e.Item.IsInEditMode)
{
GridEditFormItem edititem = (GridEditFormItem)e.Item;
CheckBoxList ckeck = (CheckBoxList)edititem .FindControl(
"CheckBoxList1"
);
ckeck .Enabled =
false
;
}
}
Thanks,
Princy
0

Troika
Top achievements
Rank 1
answered on 21 Sep 2013, 09:01 AM
hi,
thanks for your help, but I want to disable just one option in the checkboxlist.
the checkboxlist hs 3 items I want to disable one of them based on its name
thanks for your help, but I want to disable just one option in the checkboxlist.
the checkboxlist hs 3 items I want to disable one of them based on its name
0

Troika
Top achievements
Rank 1
answered on 21 Sep 2013, 09:34 AM
I have tried this:
~but cant find that checkboxlist :S
~but cant find that checkboxlist :S
CheckBoxList checkedItems = EditItem[
"CBLRole"
].Controls[0]
as
CheckBoxList;
checkedItems.Items.FindByText(
"Administradores"
);
checkedItems.Enabled =
false
;
0

Princy
Top achievements
Rank 2
answered on 23 Sep 2013, 03:36 AM
Hi Troika,
When you are using a CheckBoxList,which is inside a template column,you can access it only using findcontrol.Please try the following code.
ASPX:
C#:
Thanks,
Princy
When you are using a CheckBoxList,which is inside a template column,you can access it only using findcontrol.Please try the following code.
ASPX:
<
EditItemTemplate
>
<
asp:CheckBoxList
ID
=
"CheckBoxList1"
runat
=
"server"
ClientIDMode
=
"Static"
>
</
asp:CheckBoxList
>
</
EditItemTemplate
>
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, Telerik.Web.UI.GridItemEventArgs e)
{
string
values =
string
.Empty;
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem edit = (GridEditableItem)e.Item;
CheckBoxList check = (CheckBoxList)edit.FindControl(
"CheckBoxList1"
);
for
(
int
i = 0; i < check.Items.Count; i++)
{
if
(check.Items[i].Selected)
{
values = check.Items[i].Text.ToString();
if
(values ==
"Administradores"
)
{
check.Enabled =
false
;
}
}
}
}
}
Thanks,
Princy
0

Troika
Top achievements
Rank 1
answered on 23 Sep 2013, 10:09 AM
i still cant find it.
for exemple i'm using it on update command this to catch a simple texto on textbox
for exemple i'm using it on update command this to catch a simple texto on textbox
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditFormItem data = e.Item as GridEditFormItem;
TextBox txt = (TextBox)data["Email"].Controls[0];
new_email = txt.Text;
}
so why for the checkboxlist, item databound it wont work at all
here is my code:
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
// esconde user root
if
(e.Item
is
GridDataItem)
{
GridDataItem items = (GridDataItem)e.Item;
string
user = items[
"UserName"
].Text;
if
(user ==
"root"
)
{
items.Display =
false
;
}
}
foreach
(GridColumn col
in
RadGrid1.MasterTableView.AutoGeneratedColumns)
{
if
(col.DataType ==
typeof
(
string
))
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
//esconde as colunas[iguais do pre-render] em edit mode
GridEditFormItem myColumn = (GridEditFormItem)e.Item;
myColumn[
"Aproved"
].Parent.Visible =
false
;
myColumn[
"IsLockedOut"
].Parent.Visible =
false
;
myColumn[
"BloqSys"
].Enabled =
false
;
//desactiva esta
//transforma todos os campos de edit mode em textbox a exepcao dos abaixo indicados e os directamente
//declarados em design mode dentro da tag <columns>
GridEditableItem item = (GridEditableItem)e.Item;
TextBox txt = (TextBox)item[col.UniqueName].Controls[0];
string
value = txt.Text;
txt.Visible =
true
;
// checkboxlist roles
if
(col.UniqueName ==
"RoleName"
)
{
CheckBoxList checks =
new
CheckBoxList();
checks.SelectedValue = value;
checks.DataSourceID =
"sql_ds_funcao"
;
checks.DataTextField =
"RoleName"
;
checks.DataValueField =
"RoleName"
;
checks.ID =
"CBLRole"
;
txt.Visible =
false
;
checks.ClientIDMode = ClientIDMode.Static;
item[col.UniqueName].Controls.Add(checks);
}
//label
else
if
((col.UniqueName ==
"UserName"
) || (col.UniqueName ==
"CreationDate"
))
{
Label newlabel =
new
Label();
newlabel.Text = value;
newlabel.ID =
"lnk"
+ Guid.NewGuid();
//Generating ID's for all label Controls
txt.Visible =
false
;
item[col.UniqueName].Controls.Add(newlabel);
}
}
}
}
}
i have deleted the code since it dont work....
also the code to hide user it working but for exemple we have in the grid a gray and then a white row and because i'm hidding one it creates 2 whites because the gray is hidden :S
0

Princy
Top achievements
Rank 2
answered on 24 Sep 2013, 04:47 AM
Hi Troika,
Please add the code to create the checkbox in ItemCreated Event of the radgrid.Please try the following code snippet.
C#:
Thanks,
Princy
Please add the code to create the checkbox in ItemCreated Event of the radgrid.Please try the following code snippet.
C#:
protected
void
RadGrid1_ItemCreated(
object
sender, GridItemEventArgs e)
{
foreach
(GridColumn col
in
RadGrid1.MasterTableView.AutoGeneratedColumns)
{
if
(col.DataType ==
typeof
(
string
))
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = (GridEditableItem)e.Item;
TextBox txt = (TextBox)item[col.UniqueName].Controls[0];
//Access the textbox in editmode
string
value = txt.Text;
if
(col.UniqueName ==
"RoleName"
)
{
CheckBoxList checks =
new
CheckBoxList();
checks.DataSourceID =
"SqlDataSource2"
;
checks.DataTextField =
"RoleName"
;
checks.DataValueField =
"RoleName"
;
checks.ID =
"CBLRole"
;
checks.ClientIDMode = ClientIDMode.Static;
item[col.UniqueName].Controls.Add(checks);
}
else
{
// Your Code
}
}
}
}
}
protected
void
RadGrid1_UpdateCommand(
object
sender, GridCommandEventArgs e)
{
string
values =
string
.Empty;
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditFormItem data = e.Item
as
GridEditFormItem;
CheckBoxList checkedItems = (CheckBoxList)data.FindControl(
"CBLRole"
);
//Accessing the Template CheckBoxList
for
(
int
i = 0; i < checkedItems.Items.Count; i++)
{
if
(checkedItems.Items[i].Selected)
{
values = values +
","
+ checkedItems.Items[i].Text.ToString();
//Storing the selected values
}
}
string
selectedvalue = values.Trim(
','
);
}
}
Thanks,
Princy