or
private class RadioButtonDateColumnTemplate : ITemplate
{
protected RadioButton rButton;
protected RadDatePicker datePicker;
private string colname;
public RadioButtonDateColumnTemplate(string cName)
{
colname = cName;
}
public void InstantiateIn(System.Web.UI.Control container)
{
rButton = new RadioButton();
rButton.GroupName = "ScaleButtons";
rButton.ID = "dateButton";
rButton.DataBinding += new EventHandler(rButton_DataBinding);
datePicker = new RadDatePicker();
datePicker.ID = "DatePicker";
datePicker.DataBinding += new EventHandler(datePicker_DataBinding);
datePicker.Load += new EventHandler(datePicker_Load);
container.Controls.Add(rButton);
container.Controls.Add(datePicker);
}
void datePicker_Load(object sender, EventArgs e)
{
rButton.Attributes.Add("onClick", string.Format("DateButtonClicked('{0}')", datePicker.ClientID));
}
void datePicker_DataBinding(object sender, EventArgs e)
{
RadDatePicker dPick = (RadDatePicker)sender;
GridDataItem container = (GridDataItem)dPick.NamingContainer;
string date = ((DataRowView)container.DataItem)[colname].ToString();
DateTime dateTime;
if (date == string.Empty)
dPick.SelectedDate = null;
else
{
DateTime.TryParse(date, out dateTime);
dPick.SelectedDate = dateTime;
}
}
void rButton_DataBinding(object sender, EventArgs e)
{
RadioButton rBut = (RadioButton)sender;
GridDataItem container = (GridDataItem)rBut.NamingContainer;
bool naChecked;
bool.TryParse(((DataRowView)container.DataItem)["na"].ToString(), out naChecked);
rButton.Checked = !naChecked;
datePicker.Enabled = !naChecked;
}
}
private class RadioButtonColumnTemplate : ITemplate
{
protected RadioButton rButton;
private string colname;
public RadioButtonColumnTemplate(string cName)
{
colname = cName;
}
public void InstantiateIn(System.Web.UI.Control container)
{
rButton = new RadioButton();
rButton.GroupName = "ScaleButtons";
rButton.DataBinding += new EventHandler(rButton_DataBinding);
if (colname == "na")
{
rButton.ID = "naButton";
rButton.Load += new EventHandler(rButton_Load);
}
container.Controls.Add(rButton);
}
void rButton_Load(object sender, EventArgs e)
{
GridDataItem gridRow = (GridDataItem)rButton.Parent.NamingContainer;
string gridID = gridRow.OwnerGridID;
int rowIndex = gridRow.DataSetIndex;
rButton.Attributes.Add("onClick", string.Format("NaButtonClicked('{0}',{1},'Date')", gridID, rowIndex));
}
void rButton_DataBinding(object sender, EventArgs e)
{
RadioButton rBut = (RadioButton)sender;
GridDataItem container = (GridDataItem)rBut.NamingContainer;
bool check;
bool.TryParse(((DataRowView)container.DataItem)[colname].ToString(), out check);
rButton.Checked = check;
}
}
protected void CategoriesPanelBar_Init(object sender, EventArgs e)
{
DataTable cTypes = GetCapabilityTypes(false);
DataTable cCategories = GetCapabilityCategories();
RadPanelBar rpbCapabilityCategories = (RadPanelBar)sender;
foreach (DataRow typeRow in cTypes.Rows)
{
string typeName = typeRow["typename"].ToString();
string typeID = typeRow["id"].ToString();
RadPanelItem typeItem = new RadPanelItem(typeName);
DataRow[] categoriesByType = cCategories.Select(string.Format("type = {0}", typeID));
foreach (DataRow categoryRow in categoriesByType)
{
string categoryName = categoryRow["categoryname"].ToString();
int categoryID = int.Parse(categoryRow["id"].ToString());
RadPanelItem categoryItem = new RadPanelItem(categoryName);
categoryItem.BackColor = System.Drawing.Color.LightBlue;
RadGrid rgItems = new RadGrid();
rgItems.AutoGenerateColumns = false;
rgItems.AllowMultiRowEdit = true;
rgItems.MasterTableView.EditMode = GridEditMode.InPlace;
rgItems.PreRender += new EventHandler(rgItems_PreRender);
BuildCapabilityItemsGridByCategory(rgItems, categoryID);
categoryItem.Controls.Add(rgItems);
typeItem.Items.Add(categoryItem);
}
rpbCapabilityCategories.Items.Add(typeItem);
}
}
...
DataTable dtCapabilities = GetCapabilityItemsByCategoryAndSite(category, site);
...
dtCapabilities.Columns.Add("na", System.Type.GetType("System.Boolean"));
GridTemplateColumn naCol = new GridTemplateColumn();
naCol.ItemTemplate = new RadioButtonColumnTemplate("na");
naCol.HeaderText = "N/A ";
naCol.DataField = "na";
rgItems.Columns.Insert(rgItems.Columns.Count, naCol);
...
GridTemplateColumn dateCol = new GridTemplateColumn();
dateCol.ItemTemplate = new RadioButtonDateColumnTemplate("date");
dateCol.HeaderText = "Date";
dateCol.DataField = "date";
dateCol.UniqueName = "Date";
rgItems.Columns.Insert(rgItems.Columns.Count, dateCol);
...
rgItems.DataSource = dtCapabilities;
rgItems.DataBind();
function DateButtonClicked(datePickerId) {
var datePicker = $find(datePickerId)
datePicker.set_enabled(true);
}
function NaButtonClicked(gridID, index, colName) {
var gridView = $find(gridID);
var masterTable = gridView.get_masterTableView();
var cell = masterTable.getCellByColumnUniqueName(masterTable.get_dataItems()[index], colName)
if (cell != null) {
var datePickers = cell.getElementsByClassName('RadPicker RadPicker_Default');
for (i = 0; i < datePickers.length; i++) {
var idString = datePickers[i].innerHTML;
var startString = "id=\"";
var endString = "\"";
var startIndex = idString.indexOf(startString) + startString.length;
var endIndex = idString.indexOf(endString, startIndex);
var datePickerId = idString.substring(startIndex, endIndex);
}
}
var datePicker = $find(datePickerId)
datePicker.set_enabled(false);
}
<script type=
"text/javascript"
>
function
chkFilter_CheckedChanged(sender, args) {
var
tableView = $find(
"<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>"
);
tableView.filter(
"column"
, args.get_item().get_value(),
"EqualTo"
);
}
</script>
How to solve change the radgrid default tool tip when site has mutiple langaues?
For example, when french user look at the grid, they want to see tool tip"sort" word in french.
I tried Mygrid.Culture =
new System.Globalization.CultureInfo("fr-fr"); it doesn't work.
var divReviewAllPers = getElementId('divReviewAllPers');
for
(i = 1; i < arrItems.length; i++) {
strAllPersText +=
'<u>Item #'
+ i +
'</u><br />'
;
if
(i == parseInt(hidItemEdit.value)) {
// This is the item being edited, so update the master string with the textbox values
var
strNewPersTextItem =
''
;
var
strItemLines = arrItems[i];
for
(x = 0; x < arrLines.length; x++) {
if
(x < getElementId(
'hidNumLines'
).value) {
if
(strLine ==
''
) {
strAllPersText +=
'Line '
+ (x + 1) +
' - [LINE IS BLANK]<br />'
;
}
else
{
strAllPersText +=
'Line '
+ (x + 1) +
' - '
+ strLine +
'<br />'
;
}
}
strNewPersTextItem +=
'Line '
+ (x + 1) +
' - [LINE IS BLANK]<br />'
;
}
}
else
{
// This is not the item being edited, so put the existing data back in the master string
if
(arrItems[i].length > 0) {
for
(y = 0; y < arrLines.length; y++) {
if
(y < getElementId(
'hidNumLines'
).value) {
if
(arrLines[y] ==
''
) {
strAllPersText +=
'Line '
+ (y + 1) +
' - [LINE IS BLANK]<br />'
;
}
else
{
strAllPersText +=
'Line '
+ (y + 1) +
' - '
+ arrLines[y] +
'<br />'
;
}
}
}
}
}
}
if
(intMode == 1) {
strNewPersTextItem =
'<u>Item #'
+ i +
'</u><br />'
+ strNewPersTextItem;
divReviewAllPers.innerHTML = strAllPersText + strNewPersTextItem;
divReviewAllPers2.innerHTML = strAllPersText + strNewPersTextItem;
}
else
{
divReviewAllPers.innerHTML = strAllPersText;
divReviewAllPers2.innerHTML = strAllPersText;
}
divReviewAllPers.innerHTML
, but it doesnt appear when I trigger the tooltip. <
center
>
<
a
href
=
"#"
id
=
"lnkReviewAllPers"
class
=
"link-color"
>Click here to review all personalization text</
a
>
</
center
>
<
rad:RadToolTip
ID
=
"RadToolTip7"
Skin
=
"Default"
runat
=
"server"
TargetControlID
=
"lnkReviewAllPers"
ShowEvent
=
"OnClick"
IsClientID
=
"true"
RelativeTo
=
"Element"
Position
=
"BottomCenter"
Width
=
"400px"
Height
=
"225px"
Animation
=
"Fade"
ManualClose
=
"true"
>
<
div
id
=
"divReviewAllPers"
style
=
"height:215px; overflow:auto;"
></
div
>
</
rad:RadToolTip
>
cat1
- item 1
- item 2
- item 3
cat2
- item 4
Right now I bind tree view from server side manually, but I want to use for example ObjectDataSource or SqlDataSource instead.