This is a migrated thread and some comments may be shown as answers.

[Solved] Bind data on Combobox in RadGrid

6 Answers 305 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Khiem
Top achievements
Rank 1
Khiem asked on 07 Apr 2013, 06:00 PM
Hi All !
I'm from VietNam. Today I have a question for you. I need you help me . Thanks

I have use RadGrid and input controls in EdtiFormSetting --> FormTemplate. I have use Treeview in Combobox . But I can't get value for combobox when i edit row and use updatecommand .

I have attach file below.

This is my code :

HTML :

<EditFormSettings EditFormType="Template">
                    <FormTemplate>
                        <div id="frmTemp">
                            <div class="frmTemp_left">
                                <label>Danh mục</label>
                                <div>
                                     
                                    <telerik:RadComboBox ID="cbbCategory" runat="server" AppendDataBoundItems="true">
                                        <ItemTemplate>
                                            <div id="div1"  onclick="StopPropagation(event);" >
                                                <telerik:RadTreeView ID="trvCategory" runat="server"
                                                    DataFieldID="CategoryId"
                                                    DataFieldParentID="ParentId"
                                                    DataTextField="CateName"
                                                    DataValueField="CategoryId"
                                                    OnClientNodeClicking="nodeClicking" >
                                                </telerik:RadTreeView>
                                            </div>
                                        </ItemTemplate>
                                        <Items>
                                            <telerik:RadComboBoxItem Text="" Value="" Selected="True"></telerik:RadComboBoxItem>
                                        </Items>
                                    </telerik:RadComboBox>
                                </div>
                                <label>Tên danh mục</label>
                                <div>
                                    <asp:TextBox ID="txtCateName" runat="server" Text='<%# Bind("CateName") %>'></asp:TextBox>
                                </div>
                                <label>Sắp xếp</label>
                                <div>
                                    <asp:TextBox ID="txtOrderBy" runat="server" Text='<%# Bind("OrderBy") %>'></asp:TextBox>
                                </div>
                                <label>Hiển thị</label>
                                <div>
                                    <asp:CheckBox ID="ckbActive" runat="server" Checked='<%# ((Container is TreeListEditFormInsertItem) ? false : Eval("Active")) %>' />
                                </div>
                                <div style="padding-top: 10px;">
                                    <asp:HiddenField ID="HiddenField2" runat="server" Value='<%# Eval("ParentId") %>' />
                                    <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("CategoryId") %>' />
                                    <telerik:RadButton ID="btnUpdate" Text='<%# (Container is TreeListEditFormInsertItem) ? "Lưu" : "Cập nhật" %>'
                                        runat="server" CommandName='<%# (Container is TreeListEditFormInsertItem) ? "PerformInsert" : "Update" %>'
                                        Icon-PrimaryIconCssClass="rbOk">
                                    </telerik:RadButton>
                                      
                            <telerik:RadButton ID="btnCancel" Text="Đóng" runat="server" CausesValidation="False"
                                CommandName="Cancel" Icon-PrimaryIconCssClass="rbCancel">
                            </telerik:RadButton>
                                </div>
                            </div>
                        </div>
                    </FormTemplate>
                </EditFormSettings>






 

6 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 08 Apr 2013, 04:41 AM
Hello,

  protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
        if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
        {
            GridEditFormItem item = e.Item as GridEditFormItem;
            RadComboBox cbbCategory = item.FindControl("cbbCategory") as RadComboBox;
            //access your combobox here
            cbbCategory.DataSource = ""; // assign datasource here
            cbbCategory.DataTextField = "";
            cbbCategory.DataValueField = "";
            cbbCategory.DataBind();
 
        }
}


Thanks,
Jayesh Goyani
0
Khiem
Top achievements
Rank 1
answered on 08 Apr 2013, 06:28 AM
Hi Jayesh Goyani !
I have try your solution. It's oke. But when bind data on combobox it display blank , I want to hide blank. Have u idea for it ?

I have attach image you can see it and help me thank a lot .

0
Jayesh Goyani
Top achievements
Rank 2
answered on 08 Apr 2013, 08:53 AM
Hello,

PLease try with the below code snippet.

<telerik:RadComboBox MaxHeight="150px"></telerik:RadComboBox>


If it is not working then please check that white area is the inside treeview or not.

Thanks,
Jayesh Goyani
0
Khiem
Top achievements
Rank 1
answered on 08 Apr 2013, 09:54 AM
Hi Jayesh Goyani !

I don't think so. You see blank because in RadTreeList1_ItemDataBound I have bind data on TreeView and I have bind data on Combobox, => We are see both. This is my code

==> RadTreeList1_ItemDataBound Event in code behind

protected void RadTreeList1_ItemDataBound(object sender, TreeListItemDataBoundEventArgs e)
    {
 
        if (e.Item is TreeListEditFormItem)
        {
            var editedItem = e.Item as TreeListEditFormItem;
 
            var cbbCategory = (RadComboBox)editedItem.FindControl("cbbCategory");
            var hfCategoryId = (HiddenField)editedItem.FindControl("HiddenField1");
            var trvCategory = (RadTreeView)cbbCategory.Items[0].FindControl("trvCategory");
 
 
            trvCategory.DataSource = _repository.SelectAllByTreeView();
            trvCategory.DataBind();
            trvCategory.Nodes.Insert(0, new RadTreeNode("Select Parent", "0"));
 
            ScriptManager.RegisterClientScriptBlock(this.Page, typeof(Page), "categoryComboScript", "<script type='text/javascript'>window['comboId'] = '" + e.Item.FindControl("cbbCategory").ClientID + "';</script>", false);
            if (hfCategoryId.Value != "")
            {
 
                var id = hfCategoryId.Value;
                cbbCategory.DataSource = _repository.SelectAllByTreeView();
                cbbCategory.DataTextField = trvCategory.DataTextField;
                cbbCategory.DataValueField = trvCategory.DataValueField;
                cbbCategory.DataBind();
                cbbCategory.Items.Insert(0, new RadComboBoxItem("Select Parent", "0"));
                cbbCategory.SelectedValue = id;
 
            }
        }
    }
0
Jayesh Goyani
Top achievements
Rank 2
answered on 08 Apr 2013, 11:12 AM
Hello,

My meaning is that by using developer tool in IE/fire bug in FF.

Please check that this blank portion is inside the treeview or not.

Thanks,
Jayesh Goyani
0
Khiem
Top achievements
Rank 1
answered on 09 Apr 2013, 02:01 AM
blank display is combobox. Have u solution for me ? I don't want to see blank in combobox control

I have attach an image for my problem . Thank Jayesh !
Tags
Grid
Asked by
Khiem
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Khiem
Top achievements
Rank 1
Share this question
or