Hi Everyone,
I am getting this exception(DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'itemno')in my project. Please help me to fix this bug.
Regards
Nanda
DESIGN:
<asp:GridView ID="grdview1" runat="server" AutoGenerateColumns="False" Width="100%" DataKeyNames="itemno"
CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDataBound="grdview1_RowDataBound">
<RowStyle BackColor="#F2FAFD" HorizontalAlign="Left" />
<Columns>
<asp:TemplateField HeaderText="Select Solenoid valve with Required Voltage" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlWoItem" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlWoItem_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Available Quanity" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtWoQty" runat="server" Text='<%#Bind("reqqty")%>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Conversion Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtConversionQty" runat="server" Width="60px"></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate" ItemStyle-HorizontalAlign="Left">
<ItemTemplate><asp:TextBox ID="txtStkRate" runat="server" Text='<%#Bind("woitemrate")%>' Width="60px">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Select Valve To Be Convert" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlRequiredValve" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlRequiredValve_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Avail Valve Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtReqQty" runat="server" Width="60px" Text='<%#Bind("replacevalveqty") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Valve Serial no" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<%----%>
<asp:TextBox ID="txtSNo" runat="server" Width="60px" Text='<%#Bind("reqvalveserialno") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Replace Valve Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtValveQty" runat="server"></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate" ItemStyle-HorizontalAlign="Left">
<ItemTemplate><asp:TextBox ID="txtRate" runat="server" Text='<%#Bind("reqvalverate")%>' Width="60px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%----%>
<asp:TemplateField HeaderText="Select Required Coil" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlDetachCoil" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlDetachCoil_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Coil Avail Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtitemno" runat="server" Text='<%#Bind("reqdetachcoilqty") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Replace Coil Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtReplaceCoilQty" runat="server"></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Addition of the Coil to Stock" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlCoilDetach" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlCoilDetach_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Available Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="detachcoilqty" runat="server" Text='<%#Bind("reqvalveqty") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate" ItemStyle-HorizontalAlign="Left">
<ItemTemplate><asp:TextBox ID="txtCoilRate" runat="server" Text='<%#Bind("refdeachcoilrate")%>' Width="60px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%----%>
<%----%>
<asp:TemplateField HeaderText="Select Required Coil From the Valve" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlSValve" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlSValve_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Avail Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtSValve" runat="server" Text='<%#Bind("replaceselectvalve") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Serial No" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<%----%>
<asp:TextBox ID="txtSSLNO" runat="server" Text='<%#Bind("selectvalveslno") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Replace Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="txtSReplace" runat="server"></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate" ItemStyle-HorizontalAlign="Left">
<ItemTemplate><asp:TextBox ID="txtSelectRate" runat="server" Text='<%#Bind("selectvalverate")%>' Width="60px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Valve Without Coil Stock" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:DropDownList ID="ddlSelectValve" runat="server" Width="180px" AutoPostBack="true"
OnSelectedIndexChanged="ddlSelectValve_SelectedIndexChanged">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Avail Qty" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:TextBox ID="refavailqty" runat="server" Text='<%#Bind("selectvalveqty") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Serial No" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<%----%>
<asp:TextBox ID="slno" runat="server" Text='<%#Bind("refserialno") %>'></asp:TextBox></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate" ItemStyle-HorizontalAlign="Left">
<ItemTemplate><asp:TextBox ID="txtRefRate" runat="server" Text='<%#Bind("refvalverate")%>' Width="60px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#122D48" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#122D48" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="#E3F4FB" />
</asp:GridView>
public void BindGridView(int num, int ch)
{
grdview1.Visible = true;
SqlCommand cmd = new SqlCommand("spGetTblCoilConversionDetails");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ocno", SqlDbType.Int).Value = num;
cmd.Parameters.Add("@companyid", SqlDbType.Int).Value = Convert.ToInt16(Session["companyid"]);
cmd.Parameters.Add("@ch", SqlDbType.Int).Value = ch;
// cmd.Parameters.Add("@qty", SqlDbType.Int).Value = 0;
DataSet ds = ems.Make_Ds(cmd, con);
grdview1.DataSource = ds;
grdview1.DataBind();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DropDownList ddlWoItem = ((DropDownList)grdview1.Rows[i].FindControl("ddlWoItem"));
ddlWoItem.SelectedValue = ds.Tables[0].Rows[i][0].ToString();
}
if (ch == 2)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (i == 0)
{
grdview1.Columns[14].Visible = (ds.Tables[0].Rows[0]["selectvalve"] != DBNull.Value);
grdview1.Columns[9].Visible = (ds.Tables[0].Rows[0]["reqdetachcoil"] != DBNull.Value);
}
DropDownList ddlWoItem = ((DropDownList)grdview1.Rows[i].FindControl("ddlWoItem"));
ddlWoItem.SelectedValue = ds.Tables[0].Rows[i]["woitemcode"].ToString();
DropDownList ddlRequiredValve = ((DropDownList)grdview1.Rows[i].FindControl("ddlRequiredValve"));
ddlRequiredValve.SelectedValue = ds.Tables[0].Rows[i]["reqvalve"].ToString();
DropDownList ddlDetachCoil = ((DropDownList)grdview1.Rows[i].FindControl("ddlDetachCoil"));
ddlDetachCoil.SelectedValue = ds.Tables[0].Rows[i]["reqdetachcoil"].ToString();
DropDownList ddlSValve = ((DropDownList)grdview1.Rows[i].FindControl("ddlSValve"));
ddlSValve.SelectedValue = ds.Tables[0].Rows[i]["selectvalve"].ToString();
DropDownList ddlCoilDetach = ((DropDownList)grdview1.Rows[i].FindControl("ddlCoilDetach"));
ddlCoilDetach.SelectedValue = ds.Tables[0].Rows[i]["refdetachcoil"].ToString();
DropDownList ddlSelectValve = ((DropDownList)grdview1.Rows[i].FindControl("ddlSelectValve"));
ddlSelectValve.SelectedValue = ds.Tables[0].Rows[i]["refvalvecoil"].ToString();
}
}}
Store procedure:
ALTER proc [dbo].[spGetTblCoilConversionDetails]
@ocno int,
@companyid int,
@ch int
as
begin
declare @stockqty float
declare @qty1 int
declare @serialno varchar(2048)
declare @rate numeric(18,0)
if @ch=1
begin
select top 1(itemcode) as woitemcode,companyid,ocno as wono,dbo.fnGetAvailStockQty(itemcode,@companyid)as reqqty,(select @rate) as woitemrate,(select @stockqty)as replacevalveqty,(select @serialno)as reqvalveserialno,(select @rate)as reqvalverate,(select @stockqty)as reqdetachcoilqty,
(select @stockqty)as reqvalveqty,(select @stockqty)as replaceselectvalve,(select @rate) as refdeachcoilrate,(select @serialno)as selectvalveslno,(select @stockqty)as selectvalveqty,(select @rate)as refvalverate,(select @serialno)as refserialno,(select @rate)as selectvalverate from tblocdetails where ocno=@ocno and companyid=@companyid group by itemcode,companyid,ocno,availableqty having availableqty<sum(qty)>
end
if @ch=2
begin
select companyid,conversionno,ocno,woitemcode,reqvalve,reqvalveserialno,dbo.fnGetAvailStockQty(reqvalve,@companyid) as replacevalveqty,reqvalveavalqty,reqvalveserialno,reqvalverate,dbo.fnGetAvailStockQty(refdetachcoil,@companyid) as reqvalveqty,refdetachcoil,refdeachcoilrate,dbo.fnGetAvailStockQty(reqdetachcoil,@companyid) as reqdetachcoilqty,reqdetachcoil,dbo.fnGetAvailStockQty(woitemcode,@companyid)as reqqty,woitemrate,dbo.fnGetAvailStockQty(selectvalve,@companyid) as replaceselectvalve,selectvalveslno,selectvalve,selectvalverate,dbo.fnGetAvailStockQty(refvalvecoil,@companyid) as selectvalveqty,refvalvecoil,refserialno,refvalverate from tblCoilConversion where conversionno=@ocno and companyid=@companyid
end
End