or
// build the grids MasterTableView in OnInit (this sits in a SharePoint 2010 webpart)
_radGridViewSearch =
new
Telerik.Web.UI.RadGrid();
// advanced data filtering
_radGridViewSearch.NeedDataSource +=
new
GridNeedDataSourceEventHandler(radGridViewSearch_NeedDataSource);
_radGridViewSearch.Skin =
"Sunset"
;
_radGridViewSearch.AutoGenerateColumns =
false
;
_radGridViewSearch.AllowPaging =
true
;
_radGridViewSearch.AllowSorting =
true
;
_radGridViewSearch.PagerStyle.Mode = GridPagerMode.Slider;
_radGridViewSearch.PageSize = 25;
_radGridViewSearch.AllowFilteringByColumn =
true
;
// per telerik: Depending on the data source, the filtering may be case-sensitive or case-insensitive. You can control this behavior using the GroupingSettings-CaseSensitive property
_radGridViewSearch.GroupingSettings.CaseSensitive =
false
;
// per telerik: In some .NET 3.5 scenarios you should also turn off the Linq expressions - EnableLinqExpressions="false"
_radGridViewSearch.EnableLinqExpressions =
false
;
_radGridViewSearch.MasterTableView.TableLayout = GridTableLayout.Auto;
// build the detail tableview - if the report needs one
if
(_genReport.HasDetailsView)
{
// use 'ServerBind' so that the DetailTableDataBind event fires immediately after the corresponding parent item is bound
// Assign the DetailTableDataBind event handler to the grids nested matters
_radGridViewSearch.DetailTableDataBind +=
new
GridDetailTableDataBindEventHandler(_radGridViewSearch_DetailTableDataBind);
_radGridViewSearch.MasterTableView.HierarchyLoadMode = GridChildLoadMode.ServerBind;
_detailsView =
new
GridTableView();
_detailsView.HierarchyLoadMode = GridChildLoadMode.ServerBind;
_detailsView.AllowPaging =
false
;
_detailsView.AllowSorting =
false
;
_detailsView.AllowFilteringByColumn =
false
;
_detailsView.Width = Unit.Percentage(95);
_detailsView.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Right;
_radGridViewSearch.MasterTableView.DetailTables.Add(_detailsView);
}
void
_radGridViewSearch_DetailTableDataBind(
object
sender, GridDetailTableDataBindEventArgs e)
{
try
{
// grab the 'parent item'
GridDataItem targetParentItem = (GridDataItem)e.DetailTableView.ParentItem;
int
targetParentMatterID = 0;
string
targetChildMatter =
"0"
;
_lionRepository =
new
LionBCSRepository();
// first, prep the parent matter ID and make sure we have something that we can work with
if
(!
string
.IsNullOrEmpty(Convert.ToString(targetParentItem[
"MatterID"
].Text))
&& (
int
.TryParse(targetParentItem[
"MatterID"
].Text,
out
targetParentMatterID)))
{
// next, prep the related matter ID and make sure we have something that we can work with
if
(!
string
.IsNullOrEmpty(Convert.ToString(targetParentItem[
"RelatedMatter"
].Text))
&& !
string
.Equals(
" "
, Convert.ToString(targetParentItem[
"RelatedMatter"
].Text), StringComparison.OrdinalIgnoreCase))
{
// once we're here we know that we have something to work with for both the parent and child matters
targetChildMatter = targetParentItem[
"RelatedMatter"
].Text;
// setup the datasource
e.DetailTableView.DataSource = _lionRepository.GetRelatedMatters(targetChildMatter, targetParentMatterID);
}
else
{
e.DetailTableView.DataSource = _lionRepository.GetRelatedMatters(targetChildMatter, targetParentMatterID);
}
}
else
{
e.DetailTableView.DataSource = _lionRepository.GetRelatedMatters(targetChildMatter, targetParentMatterID);
}
}
catch
(Exception ex)
{
LionExceptionLogging.LogException(
"WebParts"
,
string
.Format(
"LION SS exception at _radGridViewSearch_DetailTableDataBind: {0} Details: {1}"
, ex.Message, ex.InnerException));
this
._LitError.Visible =
true
;
this
._LitError.Text += ex.Message;
}
}
<
telerik:GridTemplateColumn
DataField
=
"ResWidth"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ResWidth column"
HeaderText
=
"Width"
UniqueName
=
"ResWidth"
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"ResWidthRadNumericTextBox"
runat
=
"server"
MaxValue
=
"100000"
MinValue
=
"0"
Type
=
"Number"
Value
=
"0"
Width
=
"30px"
>
<
NumberFormat
DecimalDigits
=
"0"
ZeroPattern
=
"n"
/>
</
telerik:RadNumericTextBox
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"ResWidthLabel"
runat
=
"server"
Text='<%# Eval("ResWidth") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"ResHeight"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ResHeight column"
HeaderText
=
"Height"
UniqueName
=
"ResHeight"
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"ResHeightRadNumericTextBox"
runat
=
"server"
MaxValue
=
"100000"
MinValue
=
"0"
Type
=
"Number"
Value
=
"0"
Width
=
"30px"
>
<
NumberFormat
DecimalDigits
=
"0"
ZeroPattern
=
"n"
/>
</
telerik:RadNumericTextBox
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"ResHeightLabel"
runat
=
"server"
Text='<%# Eval("ResHeight") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
this
._displayElement.style.borderRightWidth=parseInt($telerik.getComputedStyle(
this
._displayElement,
"border-right-width"
,
""
))+parseInt($telerik.getComputedStyle(
this
._textBoxElement,
"border-right-width"
,
""
))+
"px"
;