| <telerik:radgrid ID="RadGrid1" runat="server" Height="300" Visible="true" BackColor="LightBlue" ShowFooter="true" PageSize="20" AllowPaging="True" AllowFilteringByColumn="True" AllowSorting="true" ShowStatusBar="true" GridLines="None" AutoGenerateColumns="False" Skin="Vista" OnPreRender="RadGrid1_PreRender" OnItemDataBound ="RadGrid1_ItemDataBound" OnItemCreated="RadGrid1_ItemCreated" OnNeedDataSource="RadGrid1_NeedDataSource" OnColumnCreated="RadGrid1_ColumnCreated" > |
| <MasterTableView CommandItemDisplay="Top" AutoGenerateColumns="false" AllowFilteringByColumn="True" AllowSorting="true" > |
| <ExpandCollapseColumn><HeaderStyle Width="20px"></HeaderStyle></ExpandCollapseColumn> |
| <RowIndicatorColumn><HeaderStyle Width="20px" /></RowIndicatorColumn> |
| <ExpandCollapseColumn><HeaderStyle Width="20px" /></ExpandCollapseColumn> |
| <Columns> |
| <%-- <telerik:GridDropDownColumn DataField="a" HeaderText="a" UniqueName="a" />--%> |
| <telerik:GridDropDownColumn DataField="a" HeaderText="a" UniqueName="a" ListTextField="a" ListValueField="a" DataSourceID="SqlDataSource1"/> |
| <telerik:GridBoundColumn DataField="b" HeaderText="b" UniqueName="b" /> |
| <telerik:GridBoundColumn DataField="c" HeaderText="c" UniqueName="c" /> |
| <telerik:GridBoundColumn DataField="d" HeaderText="d" UniqueName="d" /> |
| protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) |
| { |
| if (e.Item is GridEditFormItem && e.Item.IsInEditMode) |
| { |
| string[] strArray = { "a", "e"}; |
| GridEditFormItem item = (GridEditFormItem)e.Item; |
| for (int k = 0; k < 2; k++) |
| { |
| GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)item.EditManager.GetColumnEditor(strArray[k]); |
| editor.DataSource = (DataSet)Session["sesds"]; |
| editor.DataTextField = strArray[k]; |
| editor.DataValueField = strArray[k]; |
| editor.DataBind(); |
| editor.ComboBoxControl.AutoPostBack = true; |
| editor.ComboBoxControl.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(ComboBoxControl_SelectedIndexChanged); |
| } |
| } |
| } |
| protected void ComboBoxControl_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) |
| { |
| try |
| { |
| //string ElementID = Convert.ToString((sender as RadComboBox).SelectedItem.Text); |
| RadComboBox rad = (RadComboBox)o; |
| GridEditableItem editedItem = (GridEditableItem)(o as RadComboBox).NamingContainer; |
| GridEditManager editMan = editedItem.EditManager; |
| foreach (GridColumn column in RadGrid1.MasterTableView.RenderColumns) |
| { |
| if (column is IGridEditableColumn) |
| { |
| IGridEditableColumn editableCol = (column as IGridEditableColumn); |
| if (editableCol.IsEditable) |
| { |
| IGridColumnEditor editor = editMan.GetColumnEditor(editableCol); |
| if (editor is GridTextColumnEditor) |
| { |
| if ( rad.ID.ToLower() == "rcb_a") |
| { |
| if (column.UniqueName == "b") |
| { |
| (editor as GridTextColumnEditor).Text = "Done"; |
| } |
| else if (column.UniqueName == "c") |
| { |
| (editor as GridTextColumnEditor).Text = "ok"; |
| } |
| else if (column.UniqueName == "d") |
| { |
| (editor as GridTextColumnEditor).Text = "ok1"; |
| } |
| } |
| if (rad.ID.ToLower() == "rcb_e") |
| { |
| if (column.UniqueName == "f") |
| { |
| (editor as GridTextColumnEditor).Text = "Done2"; |
| } |
| else if (column.UniqueName == "g") |
| { |
| (editor as GridTextColumnEditor).Text = "ok2"; |
| } |
| else if (column.UniqueName == "h") |
| { |
| (editor as GridTextColumnEditor).Text = "ok3"; |
| (editor as GridTextColumnEditor).Visible = false; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| catch |
| { |
| } |
| } |
GetRadWindow().BrowserWindow.location.href = GetRadWindow().BrowserWindow.location.href;
to reload the page so that any changes take effect. The problem is it relaods the whole page and resets any paramters that may be selected in a series of dropdowns. All I want to do is refresh the Repeater contol with Ajax from the RadWindow close.
How would I go about doing this.
Andy
SqlCommand sql =
new SqlCommand();
SqlDataAdapter da =
new SqlDataAdapter();
string connectionString = WebConfigurationManager.ConnectionStrings["SBF"].ToString();
SqlConnection con =
new SqlConnection(connectionString);
//ConfigurationManager.ConnectionStrings[connectionString]
con.ConnectionString = connectionString;
sql.CommandText =
@"select A from SSA";
sql.Connection = con;
da.SelectCommand = sql;
DataTable dt =
new DataTable();
List<int> ints = new List<int>();
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
ints.Add(
Convert.ToInt32(dt.Rows[i]["A"]));
}
RadGrid1.DataSource = ints;
I am using the 2009.3.1208.35 version of the Telerik.Web.UI.
Thanks,
Jonathan Simon

I want to set the DataTextField of a RadComboBox at pageload according to the users prefered language - and keep that value.
So far my code looks like this:
(a small part of the mastertableview of the grid RadGridVehicle)
| <telerik:GridDropDownColumn DataSourceID="sdsHaulierType" |
| DataField="HaulierType" DataType="System.Int32" |
| HeaderText="Haulier type" |
| ReadOnly="true" |
| ListTextField="HaulierTypeName" |
| ListValueField="HaulierTypeID" |
| DropDownControlType="DropDownList" |
| SortExpression="HaulierType" |
| UniqueName="HaulierType" |
| EditFormColumnIndex="0" |
| Visible="true" ForceExtractValue="Always" > |
| <FilterTemplate> |
| <telerik:RadComboBox ID="cbHaulierType" runat="server" |
| AppendDataBoundItems="true" |
| DataSourceID = "sdsHaulierType" |
| DataValueField = "HaulierTypeID" |
| DataTextField = "HaulierTypeName" |
| SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("HaulierType").CurrentFilterValue %>' |
| OnClientSelectedIndexChanged="HaulierTypeChanged"> |
| <Items> |
| <telerik:RadComboBoxItem Text="All" /> |
| </Items> |
| </telerik:RadComboBox> |
| <telerik:RadScriptBlock ID="sbHaulierType" runat="server"> |
| <script type="text/javascript"> |
| function HaulierTypeChanged(sender,args) |
| { |
| var tableView=$find("<%# ((GridItem)Container).OwnerTableView.ClientID %>"); |
| tableView.filter("HaulierType",args.get_item().get_value(),"EqualTo"); |
| } |
| </script> |
| </telerik:RadScriptBlock> |
| </FilterTemplate> |
| </telerik:GridDropDownColumn> |
| <asp:SqlDataSource ID="sdsHaulierType" runat="server" |
| ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" |
| SelectCommand="SELECT * FROM [HaulierType]"> |
| </asp:SqlDataSource> |
| protected void RadGridVehicle_Load(object sender, EventArgs e) |
| { |
| ddc = (GridDropDownColumn)RadGridVehicle.MasterTableView.Columns.FindByUniqueName("HaulierType"); |
| if (userLang == "da") |
| { |
| ddc.ListTextField = "DAHaulierType"; |
| } |
| else if (userLang == "sv") |
| { |
| ddc.ListTextField = "SVHaulierType"; |
| } |
| } |