I would like to use the following example but with datatables. I am customizing an existing app and the way they handle the data is only thru datatables.
Long story short, I can't figure out how to get this to work using DT. Any help would be appreciated.
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/selectedvalue/defaultcs.aspx
Thank you.
Long story short, I can't figure out how to get this to work using DT. Any help would be appreciated.
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/selectedvalue/defaultcs.aspx
Thank you.
4 Answers, 1 is accepted
0

Shinu
Top achievements
Rank 2
answered on 05 Feb 2013, 05:50 AM
Hi,
Please take a look into the sample code snippet I tried.
C#:
Thanks,
Shinu.
Please take a look into the sample code snippet I tried.
C#:
protected
void
Page_PreRender(
object
sender, EventArgs e)
{
if
(RadGrid1.SelectedIndexes.Count == 0)
RadGrid1.SelectedIndexes.Add(0);
if
(RadGrid2.SelectedIndexes.Count == 0)
{
RadGrid2.Rebind();
RadGrid2.SelectedIndexes.Add(0);
}
}
protected
void
RadGrid1_ItemCommand(
object
sender, GridCommandEventArgs e)
{
RadGrid2.SelectedIndexes.Clear();
}
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
string
selectQuery1 =
"SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, PostalCode FROM Customers"
;
SqlDataAdapter adapter1 =
new
SqlDataAdapter(selectQuery1, conn);
conn.Open();
DataTable dt1 =
new
DataTable();
adapter1.Fill(dt1);
conn.Close();
RadGrid1.DataSource = dt1;
}
public
static
string
Customerid =
"ALFKI"
;
protected
void
RadGrid2_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
string
selectQuery2 =
"SELECT [OrderID], [OrderDate], [CustomerID], [ShipCountry] FROM [Orders] WHERE ([CustomerID] = '"
+ Customerid +
"')"
;
SqlDataAdapter adapter1 =
new
SqlDataAdapter(selectQuery2, conn);
conn.Open();
DataTable dt2 =
new
DataTable();
adapter1.Fill(dt2);
conn.Close();
RadGrid2.DataSource = dt2;
}
public
static
string
Orderid =
"10643"
;
protected
void
RadGrid3_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
string
selectQuery3 =
"SELECT [OrderID], [UnitPrice], [Quantity], [Discount] FROM [Order Details] WHERE ([OrderID] = '"
+Orderid+
"')"
;
SqlDataAdapter adapter1 =
new
SqlDataAdapter(selectQuery3, conn);
conn.Open();
DataTable dt3 =
new
DataTable();
adapter1.Fill(dt3);
conn.Close();
RadGrid3.DataSource = dt3;
}
protected
void
RadGrid1_SelectedIndexChanged(
object
sender, EventArgs e)
{
Customerid = (RadGrid1.SelectedItems[0]
as
GridDataItem).GetDataKeyValue(
"CustomerID"
).ToString();
}
protected
void
RadGrid2_SelectedIndexChanged(
object
sender, EventArgs e)
{
Orderid = (RadGrid2.SelectedItems[0]
as
GridDataItem).GetDataKeyValue(
"OrderID"
).ToString();
}
Thanks,
Shinu.
0

Steve
Top achievements
Rank 2
answered on 05 Feb 2013, 04:57 PM
Thank you very much for your solution, I just have a few problems to get this adjusted to my environment.
1.) The grid does not load on page load.
2.) When I force it to load on page load, the second grid does not populate, actually not of the change events seem to fire.
3.) Paging does not work, when I click on another page, grid is gone.
I am sure I am missing something. I will include all my code.
ASPX:
C#:
Again, thank you for your excellent support.
1.) The grid does not load on page load.
2.) When I force it to load on page load, the second grid does not populate, actually not of the change events seem to fire.
3.) Paging does not work, when I click on another page, grid is gone.
I am sure I am missing something. I will include all my code.
ASPX:
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
telerik:RadSkinManager
ID
=
"QsfSkinManager"
runat
=
"server"
ShowChooser
=
"true"
/>
<
telerik:RadFormDecorator
ID
=
"QsfFromDecorator"
runat
=
"server"
DecoratedControls
=
"All"
EnableRoundedCorners
=
"false"
/>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
></
telerik:AjaxUpdatedControl
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid2"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
h3
>Customers:</
h3
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"5"
OnItemCommand
=
"RadGrid1_ItemCommand"
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
></
Selecting
>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"UIDREPORT"
>
</
MasterTableView
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
></
PagerStyle
>
</
telerik:RadGrid
>
<
br
/>
<
br
/>
<
h3
>Orders:</
h3
>
<
telerik:RadGrid
ID
=
"RadGrid2"
ShowStatusBar
=
"true"
runat
=
"server"
AllowPaging
=
"True"
PageSize
=
"5"
>
<
MasterTableView
Width
=
"100%"
AutoGenerateColumns
=
"False"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"UIDREPORT"
DataType
=
"System.Int32"
HeaderText
=
"UIDREPORT"
ReadOnly
=
"True"
SortExpression
=
"UIDREPORT"
UniqueName
=
"UIDREPORT"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"RPTNAME"
DataType
=
"System.String"
HeaderText
=
"RPTNAME"
SortExpression
=
"RPTNAME"
UniqueName
=
"RPTNAME"
DataFormatString
=
"{0:d}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"RPTTITLE"
HeaderText
=
"RPTTITLE"
SortExpression
=
"RPTTITLE"
UniqueName
=
"RPTTITLE"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
></
Selecting
>
</
ClientSettings
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
></
PagerStyle
>
</
telerik:RadGrid
>
C#:
public
partial
class
WSS : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
//
BindProcesses(
"ESTIMATIONS"
,
""
,
""
,
""
);
}
}
private
void
BindProcesses(
string
processType,
string
processName,
string
startTime,
string
stopTime)
{
AccountMDMDB accountMDB =
new
AccountMDMDB();
DataTable dt = accountMDB.getProcesses(processType, processName, startTime, stopTime);
RadGrid1.DataSource = dt;
}
protected
void
Page_PreRender(
object
sender, EventArgs e)
{
if
(RadGrid1.SelectedIndexes.Count == 0)
RadGrid1.SelectedIndexes.Add(0);
if
(RadGrid2.SelectedIndexes.Count == 0)
{
RadGrid2.Rebind();
RadGrid2.SelectedIndexes.Add(0);
}
}
protected
void
RadGrid1_ItemCommand(
object
sender, GridCommandEventArgs e)
{
RadGrid2.SelectedIndexes.Clear();
}
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
AccountMDMDB accountMDB =
new
AccountMDMDB();
DataTable dt = accountMDB.getProcesses(
"ESTIMATIONS"
,
""
,
""
,
""
);
RadGrid1.DataSource = dt;
}
public
static
string
Uid =
"2233"
;
protected
void
RadGrid2_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
AccountMDMDB accountMdb =
new
AccountMDMDB();
DataTable dt2 = accountMdb.getReports(Uid);
RadGrid2.DataSource = dt2;
}
protected
void
RadGrid1_SelectedIndexChanged(
object
sender, EventArgs e)
{
Uid = (RadGrid1.SelectedItems[0]
as
GridDataItem).GetDataKeyValue(
"UIDREPORT"
).ToString();
Label1.Text = Uid;
}
}
0
Accepted

Shinu
Top achievements
Rank 2
answered on 06 Feb 2013, 04:47 AM
Hi Steve,
Please make sure that you are attaching the NeedDataSource event for both the RadGrid and SeletedIndexChanged event for the first RadGrid1 in the ASPX as follows.
ASPX:
Thanks,
Shinu.
Please make sure that you are attaching the NeedDataSource event for both the RadGrid and SeletedIndexChanged event for the first RadGrid1 in the ASPX as follows.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"true"
PageSize
=
"5"
OnItemCommand
=
"RadGrid1_ItemCommand"
OnNeedDataSource
=
"RadGrid1_NeedDataSource1"
OnSelectedIndexChanged
=
"RadGrid1_SelectedIndexChanged1"
>
. . .
</
telerik:RadGrid
>
<
telerik:RadGrid
ID
=
"RadGrid2"
ShowStatusBar
=
"true"
runat
=
"server"
AllowPaging
=
"True"
PageSize
=
"5"
OnNeedDataSource
=
"RadGrid2_NeedDataSource1"
>
. . .
</
telerik:RadGrid
>
Thanks,
Shinu.
0

Steve
Top achievements
Rank 2
answered on 06 Feb 2013, 02:20 PM
Thank you so very much !! That did it. I overlooked that completely.
Your support rocks!!
Your support rocks!!