| protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode)) |
| { |
| //Loading RadComboBoxes here without problems |
| //... |
| } |
| //... |
| } |
| <telerik:RadGrid ID="SubGrid1" runat="server" AllowSorting="False" GridLines="None" |
| Style="margin-left: 0px" AutoGenerateColumns="False" Width="95%" OnItemDataBound="SubGrid1_ItemDataBound" OnItemCommand="SubGrid1_ItemCommand" |
| OnItemDeleted="SubGrid1_ItemDeleted" OnItemCreated="SubGrid1_ItemCreated" |
| OnItemInserted="SubGrid1_ItemInserted" OnItemUpdated="SubGrid1_ItemUpdated"> |
| <HeaderContextMenu EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <MasterTableView EditMode="InPlace" CommandItemSettings-AddNewRecordText="Add New Phone Number" |
| CommandItemDisplay="Top"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridEditCommandColumn HeaderStyle-Width="20px" EditText="Edit"> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridMaskedColumn Mask="(###) ###-####" |
| UniqueName="Phone" HeaderText="Phone#" DataField="Phone"> |
| <HeaderStyle Width="120px" /> |
| </telerik:GridMaskedColumn> |
| <telerik:GridTemplateColumn HeaderStyle-Width="20px" UniqueName="colPhoneType"> |
| <EditItemTemplate> |
| <telerik:RadComboBox ID="PhoneType" runat="server"> |
| </telerik:RadComboBox> |
| </EditItemTemplate> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn HeaderStyle-Width="20px" UniqueName="DeletePhoneColumn"> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| <ItemTemplate> |
| <asp:ImageButton ID="imgbtnDelete" ToolTip="Delete Contact" runat="server" CommandName="Delete" ImageUrl="~/App_ThemesCustom/Pro1/images/recycle-bin-icon.gif" |
| OnClientClick="javascript:if(!confirm('This action will delete the selected contact. Are you sure?')){return false;}" /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormStyle /> |
| <FormTemplate> |
| <asp:Table runat="server" ID="Table1" CellSpacing="1" CellPadding="1" Width="250" |
| border="0"> |
| <asp:TableRow> |
| <asp:TableCell></asp:TableCell> |
| <asp:TableCell></asp:TableCell> |
| </asp:TableRow> |
| <asp:TableRow> |
| <asp:TableCell> |
| Phone Number: |
| </asp:TableCell> |
| <asp:TableCell> |
| <telerik:RadTextBox ID="PhoneEdit" Text='<%# Bind( "Phone") %>' runat="server"> |
| </telerik:RadTextBox> |
| <cc1:MaskedEditExtender ID="MaskPhoneEdit" runat="server" TargetControlID="PhoneEdit" MaskType="Number" Mask="(999) 999-9999" ClearMaskOnLostFocus="false"> |
| </cc1:MaskedEditExtender> |
| </asp:TableCell> |
| </asp:TableRow> |
| <asp:TableRow> |
| <asp:TableCell> |
| Phone Type: |
| </asp:TableCell> |
| <asp:TableCell ID="tblClPhoneType" runat="server" Wrap="False"> |
| <telerik:RadComboBox Width="150px" ID="RadComboPhoneType" runat="server"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </telerik:RadComboBox> |
| </asp:TableCell> |
| </asp:TableRow> |
| </asp:Table> |
| <asp:Table runat="server" Style="width: 95%"> |
| <asp:TableRow> |
| <asp:TableCell Style="text-align: right;" ColumnSpan="2"> |
| <asp:Button ID="Button1" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' |
| runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> |
| </asp:Button> |
| <asp:Button ID="Button2" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"> |
| </asp:Button> |
| </asp:TableCell> |
| </asp:TableRow> |
| </asp:Table> |
| </FormTemplate> |
| </EditFormSettings> |
| <NoRecordsTemplate> |
| No Records Found |
| </NoRecordsTemplate> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| </MasterTableView> |
| <ClientSettings AllowColumnsReorder="True" AllowRowsDragDrop="True" ReorderColumnsOnClient="True"> |
| <Selecting AllowRowSelect="True" /> |
| </ClientSettings> |
| <FilterMenu EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:RadGrid> |
| protected void RadGridPhones_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| //This event is not firing. |
| } |
Can anybody see anything wrong with how I do it? I don't use DataSourceID, but there has got to be a way to get it to work this way too.
The only difference between RadGrid1 and SubGrid1 is that I do an InPlace edit on SubGrid1.
Thanks.
| <telerik:RadComboBox ID="ddTables" runat="server" EnableEmbeddedSkins="false" Skin="LBCompanion_Blue" |
| AllowCustomText="true" MarkFirstMatch="true"> |
| </telerik:RadComboBox> |
| <br /> |
| <br /> |
| <telerik:RadGrid ID="dgResults" runat="server" EnableEmbeddedSkins="false" Skin="LBCompanion_Blue" |
| EnableLinqExpressions="False" OnNeedDataSource="dgResults_NeedDataSource" AllowFilteringByColumn="True" |
| AllowSorting="True" AllowPaging="True" PageSize="40" GridLines="None"> |
| <HeaderContextMenu EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <MasterTableView AutoGenerateColumns="True" CommandItemDisplay="Top" DataKeyNames="JOB_ID, TABLE_NAME"> |
| <RowIndicatorColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </RowIndicatorColumn> |
| <ExpandCollapseColumn> |
| <HeaderStyle Width="20px"></HeaderStyle> |
| </ExpandCollapseColumn> |
| <Columns> |
| <telerik:GridDropDownColumn DataField="JOB_ID" HeaderText="JOB_ID" UniqueName="FIXED_JOB_ID" |
| AutoPostBackOnFilter="true" ListTextField="ID" ListValueField="ID" DataSourceID="odsDataEvents" |
| ItemStyle-Width="100" FilterControlWidth="100"> |
| </telerik:GridDropDownColumn> |
| <telerik:GridDropDownColumn DataField="TABLE_NAME" HeaderText="TABLE_NAME" UniqueName="FIXED_TABLE_NAME" |
| AutoPostBackOnFilter="true" ListTextField="TABLE_NAME" ListValueField="TABLE_NAME" DataSourceID="odsTables" |
| ItemStyle-Width="100" FilterControlWidth="100"> |
| </telerik:GridDropDownColumn> |
| <telerik:GridEditCommandColumn UniqueName="Edit"> |
| </telerik:GridEditCommandColumn> |
| <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="Delete"> |
| </telerik:GridButtonColumn> |
| </Columns> |
| <EditFormSettings> |
| <EditColumn InsertText="Insert value" UpdateText="Update value" UniqueName="EditCommandColumn1" |
| CancelText="Cancel edit"> |
| </EditColumn> |
| </EditFormSettings> |
| </MasterTableView> |
| <FilterMenu EnableTheming="True"> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| <ClientSettings> |
| <Scrolling AllowScroll="True" ScrollHeight="400" UseStaticHeaders="True" SaveScrollPosition="True"> |
| </Scrolling> |
| </ClientSettings> |
| </telerik:RadGrid> |
| void dgResults_ItemCreated(object sender, GridItemEventArgs e) |
| { |
| if (e.Item is GridEditableItem && e.Item.IsInEditMode) |
| { |
| if (e.Item.ItemType == GridItemType.EditFormItem) |
| { |
| GridEditableItem eeditedItem = e.Item as GridEditableItem; |
| editedItem["FIXED_JOB_ID"].Enabled = false; |
| editedItem["FIXED_TABLE_NAME"].Enabled = false; |
| } |
| } |
| } |
| void dgResults_PreRender(object sender, EventArgs e) |
| { |
| foreach (GridDataItem dataItem in dgResults.MasterTableView.Items) |
| { |
| foreach (GridColumn column in dgResults.MasterTableView.RenderColumns) |
| { |
| if (column is GridBoundColumn) |
| { |
| if (column.UniqueName == "JOB_ID" || column.UniqueName == "TABLE_NAME") |
| { |
| GridBoundColumn bcol = (GridBoundColumn)column; |
| bcol.ReadOnly = true; |
| bcol.Visible = false; |
| } |
| } |
| } |
| } |
| GridColumnCollection cols = dgResults.MasterTableView.Columns; |
| GridColumn colo = cols.FindByUniqueName("Edit"); |
| colo.OrderIndex = 0; |
| colo = cols.FindByUniqueName("Delete"); |
| colo.OrderIndex = 1; |
| } |
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Dim PlaceHolder1 As PlaceHolder
Dim RadGrid1 As RadGrid = New RadGrid
Dim sql As String = "SELECT [ProductName] From Products order by ProductName"
Dim GridDataSet As DataSet = CDSSQLFunctions.GetDataSet(sql)
Dim boundColumn As GridBoundColumn
RadGrid1.Skin = "Default"
RadGrid1.Width = Unit.Percentage(100)
RadGrid1.PageSize = 5
RadGrid1.AllowPaging = True
RadGrid1.AutoGenerateColumns = False
RadGrid1.GroupingEnabled = True
RadGrid1.ShowGroupPanel = True
RadGrid1.MasterTableView.PageSize = 15
BoundColumn = New GridBoundColumn
boundColumn.DataField = "ProductName"
boundColumn.HeaderText = "ProductName"
RadGrid1.MasterTableView.Columns.Add(boundColumn)
RadGrid1.DataSource = GridDataSet
RadGrid1.DataBind()
PlaceHolder1 = phGrid ' <asp:PlaceHolder ID="phGrid" runat="server"></asp:PlaceHolder><br />
PlaceHolder1.Controls.Add(RadGrid1)
End Sub
| Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.WebControls.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource |
| Dim strCaminho As String = Server.MapPath("~/adm/bd/observatorio.mdb") |
| Dim MyOleDbConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminho & ";") |
| Dim MyOleDbDataAdapter As New OleDbDataAdapter |
| MyOleDbDataAdapter.SelectCommand = New OleDbCommand("Select distinct news_id,news_titulo,news_dtinclusao from tblNoticias order by news_dtinclusao desc", MyOleDbConnection) |
| Dim myDataTable As DataTable |
| If Not (Session("DataSource") Is Nothing) Then |
| myDataTable = CType(Session("DataSource"), DataTable) |
| Else |
| Try |
| myDataTable = New DataTable |
| MyOleDbConnection.Open() |
| Try |
| MyOleDbDataAdapter.Fill(myDataTable) |
| Catch ex As Exception |
| Me.lblError.Text = "Ocorreu um erro na tentativa de carregar os dados !" |
| 'Me.lblError.Text = ex.Message |
| Exit Sub |
| Finally |
| MyOleDbConnection.Close() |
| End Try |
| Catch ex As Exception |
| Me.lblError.Text = "Não foi possÃvel abrir o banco de dados" |
| 'Me.lblError.Text = ex.Message |
| Exit Sub |
| End Try |
| myDataTable.PrimaryKey = New DataColumn() {myDataTable.Columns("news_id")} |
| Session("DataSource") = myDataTable |
| End If |
| RadGrid1.DataSource = myDataTable |
| End Sub |
| Protected Sub RadGrid1_DeleteCommand(ByVal source As Object, ByVal e As Telerik.WebControls.GridCommandEventArgs) |
| Dim table As DataTable = CType(Session("DataSource"), DataTable) |
| Dim ID As String = e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("news_id").ToString() |
| If Not (table.Rows.Find(ID) Is Nothing) Then |
| table.Rows.Find(ID).Delete() |
| table.AcceptChanges() |
| Session("DataSource") = table |
| End If |
| End Sub |