I have used radcombobox in RadGrid column
See my Aspx code:
<telerik:RadGrid ID="RadGrid1" runat="server" OnItemDataBound="RadGrid1_ItemDataBound"
Skin="Office2007" GridLines="None" OnItemCreated="RadGrid1_ItemCreated">
<MasterTableView AutoGenerateColumns="False" IsFilterItemExpanded="false">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, SN %>">
<ItemTemplate>
<asp:Label ID="Sno" runat="server" Text="Label" Width="35px" Style="text-align: center">
</asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Itm %>">
<ItemTemplate>
<telerik:RadComboBox ID="itemcode" runat="server" Width="100px" ShowToggleImage="false"
DataTextField="itemno" DataValueField="itemno" EnableAutomaticLoadOnDemand="true"
ItemsPerRequest="10" ToolTip="Item ComboBox" ShowMoreResultsBox="true" AutoPostBack="true"
OnSelectedIndexChanged="Item_SelectedIndexChanged" EnableVirtualScrolling="true"
Skin="Simple" AccessKey="T" MarkFirstMatch="true" AppendDataBoundItems="true" >
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, WrDesc %>">
<ItemTemplate>
<telerik:RadComboBox ID="Description" runat="server" Width="250px" ShowToggleImage="false"
DataTextField="workdescription" DataValueField="workdescription" EnableAutomaticLoadOnDemand="True"
ItemsPerRequest="10" ToolTip="Item ComboBox" ShowMoreResultsBox="true" EnableVirtualScrolling="true"
Skin="Simple" AccessKey="T" MarkFirstMatch="true" OnSelectedIndexChanged="Description_SelectedIndexChanged"
AutoPostBack="true">
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Cat %>">
<ItemTemplate>
<telerik:RadTextBox ID="Category" runat="server" Width="100px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Lavender" MaxLength="30" CssClass="Capitalize1" Text='<%# Bind("category") %>'
onkeydown="return (event.keyCode!=13);">
</telerik:RadTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, ArtNo %>">
<ItemTemplate>
<telerik:RadTextBox ID="ArticleNo" runat="server" Width="100px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Lavender" MaxLength="15" CssClass="Capitalize1" Text='<%# Bind("articleno") %>'
onkeydown="return (event.keyCode!=13);">
</telerik:RadTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Qty %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="Quantity" runat="server" Width="50px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Yellow" MaxLength="5" IncrementSettings-InterceptMouseWheel="false"
NumberFormat-GroupSizes="5" Text='<%# Bind("quantity") %>' onkeydown="return (event.keyCode!=13);">
<ClientEvents OnKeyPress="NoDecimal" />
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Unt %>" Visible="false">
<ItemTemplate>
<telerik:RadComboBox ID="RadComboBox_Unit" runat="server" AutoPostBack="false" AppendDataBoundItems="true"
FocusedStyle-BackColor="Lavender" Width="70px" DataValueField="unit" DataTextField="unit"
Enabled="false" Visible="false">
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, ppu %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="price" runat="server" Width="80px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Yellow" MaxLength="8" IncrementSettings-InterceptMouseWheel="false"
NumberFormat-GroupSizes="8" Text='<%# Bind("price") %>' onkeydown="return (event.keyCode!=13);">
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, amt %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="Amount" runat="server" Width="85px" ReadOnly="true"
ReadOnlyStyle-ForeColor="Red" MaxLength="8" Text='<%# Bind("amount") %>' onkeydown="return (event.keyCode!=13);">
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings EnablePostBackOnRowClick="false" AllowDragToGroup="true">
<Selecting AllowRowSelect="true" />
</ClientSettings>
<FilterMenu EnableImageSprites="False">
</FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_">
</HeaderContextMenu>
</telerik:RadGrid>
See my Po image select items
when i click Add row button clear the first and second column are empty to bind (see My Po1 image)
My cs coding is :
protected void btnaddrow_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)Session["PurchaseOrder"];
int finalrow = dt.Rows.Count + 1;
object[] emptyrow = new object[columcount];
emptyrow[0] = finalrow.ToString();
dt.Rows.Add(emptyrow);
assigndt2(dt);
tabledata1 = dt;
RadGrid1.DataSource = tabledata1;
RadGrid1.DataBind();
for (int i = 0; i <= RadGrid1.Items.Count - 1; i++)
{
RadComboBox ddlitemcode = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
string orgreqfinal = ("select itemno from dsprojectwork " +
"where status <> 'del'");
ddlitemcode.DataSource = oDBClientADO.GetDataTable(orgreqfinal);// UnitName.DataSource = orgreqfinal;
ddlitemcode.DataValueField = "itemno";
ddlitemcode.DataTextField = "itemno";
}
for (int i = 0; i < dt.Rows.Count; i++)
{
RadComboBox ddlitemcode = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
if (dt.Rows.Count > i)
{
if (dt.Rows[i]["itemno"].ToString() != "")
{
ddlitemcode.SelectedValue = dt.Rows[i]["itemno"].ToString();
}
else
{
break;
}
}
else
{
break;
}
}
}
private DataTable tabledata1
{
get
{
DataTable dt = (DataTable)Session["PurchaseOrder"];
if (dt == null)
{
dt = new DataTable();
object[] emptyrow = new object[columcount];
dt.Columns.Add("Sno", typeof(string));
dt.Columns.Add("itemno", typeof(string));
dt.Columns.Add("workdescription", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("ArticleNo", typeof(string));
dt.Columns.Add("Quantity", typeof(string));
dt.Columns.Add("Unit", typeof(string));
dt.Columns.Add("price", typeof(string));
dt.Columns.Add("Amount", typeof(string));
for (int i = 1; i < rowcount + 1; i++)
{
emptyrow[0] = i.ToString();
dt.Rows.Add(emptyrow);
}
tabledata1 = dt;
}
return dt;
}
set
{
Session["PurchaseOrder"] = value;
}
}
private void assigndt2(DataTable dt)
{
RadComboBox r1;
RadNumericTextBox rn1;
RadTextBox rt1;
for (int i = 0; i <= RadGrid1.Items.Count - 1; i++)
{
r1 = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
dt.Rows[i]["itemno"] = r1.SelectedValue;
r1 = (RadComboBox)RadGrid1.Items[i].FindControl("Description");
dt.Rows[i]["workdescription"] = r1.SelectedValue;
rt1 = (RadTextBox)RadGrid1.Items[i].FindControl("Category");
dt.Rows[i]["Category"] = rt1.Text;
rt1 = (RadTextBox)RadGrid1.Items[i].FindControl("ArticleNo");
dt.Rows[i]["ArticleNo"] = rt1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("Quantity");
dt.Rows[i]["Quantity"] = rn1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("price");
dt.Rows[i]["price"] = rn1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("Amount");
dt.Rows[i]["Amount"] = rn1.Text;
}
}
Advance Thanks
Ansari
See my Aspx code:
<telerik:RadGrid ID="RadGrid1" runat="server" OnItemDataBound="RadGrid1_ItemDataBound"
Skin="Office2007" GridLines="None" OnItemCreated="RadGrid1_ItemCreated">
<MasterTableView AutoGenerateColumns="False" IsFilterItemExpanded="false">
<CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, SN %>">
<ItemTemplate>
<asp:Label ID="Sno" runat="server" Text="Label" Width="35px" Style="text-align: center">
</asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Itm %>">
<ItemTemplate>
<telerik:RadComboBox ID="itemcode" runat="server" Width="100px" ShowToggleImage="false"
DataTextField="itemno" DataValueField="itemno" EnableAutomaticLoadOnDemand="true"
ItemsPerRequest="10" ToolTip="Item ComboBox" ShowMoreResultsBox="true" AutoPostBack="true"
OnSelectedIndexChanged="Item_SelectedIndexChanged" EnableVirtualScrolling="true"
Skin="Simple" AccessKey="T" MarkFirstMatch="true" AppendDataBoundItems="true" >
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, WrDesc %>">
<ItemTemplate>
<telerik:RadComboBox ID="Description" runat="server" Width="250px" ShowToggleImage="false"
DataTextField="workdescription" DataValueField="workdescription" EnableAutomaticLoadOnDemand="True"
ItemsPerRequest="10" ToolTip="Item ComboBox" ShowMoreResultsBox="true" EnableVirtualScrolling="true"
Skin="Simple" AccessKey="T" MarkFirstMatch="true" OnSelectedIndexChanged="Description_SelectedIndexChanged"
AutoPostBack="true">
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Cat %>">
<ItemTemplate>
<telerik:RadTextBox ID="Category" runat="server" Width="100px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Lavender" MaxLength="30" CssClass="Capitalize1" Text='<%# Bind("category") %>'
onkeydown="return (event.keyCode!=13);">
</telerik:RadTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, ArtNo %>">
<ItemTemplate>
<telerik:RadTextBox ID="ArticleNo" runat="server" Width="100px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Lavender" MaxLength="15" CssClass="Capitalize1" Text='<%# Bind("articleno") %>'
onkeydown="return (event.keyCode!=13);">
</telerik:RadTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Qty %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="Quantity" runat="server" Width="50px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Yellow" MaxLength="5" IncrementSettings-InterceptMouseWheel="false"
NumberFormat-GroupSizes="5" Text='<%# Bind("quantity") %>' onkeydown="return (event.keyCode!=13);">
<ClientEvents OnKeyPress="NoDecimal" />
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, Unt %>" Visible="false">
<ItemTemplate>
<telerik:RadComboBox ID="RadComboBox_Unit" runat="server" AutoPostBack="false" AppendDataBoundItems="true"
FocusedStyle-BackColor="Lavender" Width="70px" DataValueField="unit" DataTextField="unit"
Enabled="false" Visible="false">
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, ppu %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="price" runat="server" Width="80px" AutoCompleteType="Disabled"
FocusedStyle-BackColor="Yellow" MaxLength="8" IncrementSettings-InterceptMouseWheel="false"
NumberFormat-GroupSizes="8" Text='<%# Bind("price") %>' onkeydown="return (event.keyCode!=13);">
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="<%$ Resources:PurchaseOrder, amt %>">
<ItemTemplate>
<telerik:RadNumericTextBox ID="Amount" runat="server" Width="85px" ReadOnly="true"
ReadOnlyStyle-ForeColor="Red" MaxLength="8" Text='<%# Bind("amount") %>' onkeydown="return (event.keyCode!=13);">
</telerik:RadNumericTextBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings EnablePostBackOnRowClick="false" AllowDragToGroup="true">
<Selecting AllowRowSelect="true" />
</ClientSettings>
<FilterMenu EnableImageSprites="False">
</FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_">
</HeaderContextMenu>
</telerik:RadGrid>
See my Po image select items
when i click Add row button clear the first and second column are empty to bind (see My Po1 image)
My cs coding is :
protected void btnaddrow_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)Session["PurchaseOrder"];
int finalrow = dt.Rows.Count + 1;
object[] emptyrow = new object[columcount];
emptyrow[0] = finalrow.ToString();
dt.Rows.Add(emptyrow);
assigndt2(dt);
tabledata1 = dt;
RadGrid1.DataSource = tabledata1;
RadGrid1.DataBind();
for (int i = 0; i <= RadGrid1.Items.Count - 1; i++)
{
RadComboBox ddlitemcode = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
string orgreqfinal = ("select itemno from dsprojectwork " +
"where status <> 'del'");
ddlitemcode.DataSource = oDBClientADO.GetDataTable(orgreqfinal);// UnitName.DataSource = orgreqfinal;
ddlitemcode.DataValueField = "itemno";
ddlitemcode.DataTextField = "itemno";
}
for (int i = 0; i < dt.Rows.Count; i++)
{
RadComboBox ddlitemcode = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
if (dt.Rows.Count > i)
{
if (dt.Rows[i]["itemno"].ToString() != "")
{
ddlitemcode.SelectedValue = dt.Rows[i]["itemno"].ToString();
}
else
{
break;
}
}
else
{
break;
}
}
}
private DataTable tabledata1
{
get
{
DataTable dt = (DataTable)Session["PurchaseOrder"];
if (dt == null)
{
dt = new DataTable();
object[] emptyrow = new object[columcount];
dt.Columns.Add("Sno", typeof(string));
dt.Columns.Add("itemno", typeof(string));
dt.Columns.Add("workdescription", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("ArticleNo", typeof(string));
dt.Columns.Add("Quantity", typeof(string));
dt.Columns.Add("Unit", typeof(string));
dt.Columns.Add("price", typeof(string));
dt.Columns.Add("Amount", typeof(string));
for (int i = 1; i < rowcount + 1; i++)
{
emptyrow[0] = i.ToString();
dt.Rows.Add(emptyrow);
}
tabledata1 = dt;
}
return dt;
}
set
{
Session["PurchaseOrder"] = value;
}
}
private void assigndt2(DataTable dt)
{
RadComboBox r1;
RadNumericTextBox rn1;
RadTextBox rt1;
for (int i = 0; i <= RadGrid1.Items.Count - 1; i++)
{
r1 = (RadComboBox)RadGrid1.Items[i].FindControl("itemcode");
dt.Rows[i]["itemno"] = r1.SelectedValue;
r1 = (RadComboBox)RadGrid1.Items[i].FindControl("Description");
dt.Rows[i]["workdescription"] = r1.SelectedValue;
rt1 = (RadTextBox)RadGrid1.Items[i].FindControl("Category");
dt.Rows[i]["Category"] = rt1.Text;
rt1 = (RadTextBox)RadGrid1.Items[i].FindControl("ArticleNo");
dt.Rows[i]["ArticleNo"] = rt1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("Quantity");
dt.Rows[i]["Quantity"] = rn1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("price");
dt.Rows[i]["price"] = rn1.Text;
rn1 = (RadNumericTextBox)RadGrid1.Items[i].FindControl("Amount");
dt.Rows[i]["Amount"] = rn1.Text;
}
}
Advance Thanks
Ansari