There is a Gridview in my web page with select button as below:
<div class="test01" style="height:200px;overflow-y:scroll;overflow-x:hidden" align="center">
<asp:GridView Width="100%" ID="GAsset" runat="server" AutoGenerateColumns="False" DataKeyNames="AssetId">
<Columns>
<asp:BoundField DataField="AssetId" HeaderText="AssetId"/>
<asp:BoundField DataField="AssetName" HeaderText="Asset Name"/>
<asp:BoundField DataField="Category" HeaderText="Category" Visible="false"/>
<asp:BoundField DataField="SubCategory" HeaderText="SubCategory" Visible="false"/>
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="LAssetMsg" runat="server" Text="Asset Not Available!" Visible="false" ForeColor="Red" Font-Bold="true"></asp:Label>
</div>
<div class="test01" style="text-align:center">
<asp:Button ID="btnSelect" CssClass="button01" runat="server" Text="Select" onclick="btnSelect_Click"/>
<asp:Button ID="btnCancel" CssClass="button01" runat="server" Text="Cancel" />
</div>
When I am selecting any row of Gridview using checkbox and clicking on "Select" button, It is showing ch.checked= false
code is below:
protected void btnSelect_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GAsset.Rows)
{
CheckBox ch = (CheckBox)row.FindControl("chkSelect");
if (ch.Checked && ch != null)
{
string key = Convert.ToString(GAsset.DataKeys[row.RowIndex].Value);
string query2 = "select AssetId, AssetName from Table1 where AssetId = '" + key + "' ";
DataSet ds = DataManager.DatabaseManager.GetOrCreateConnection(DataManager.DatabaseManager.ConnectionType.MySQL).GetData(query2);
string ID = ds.Tables[0].Rows[0][0].ToString();
string Name = ds.Tables[0].Rows[0][1].ToString();
int id = Convert.ToInt32(Request.QueryString["id"].ToString());
string query = "Select IdPreventive from Table2 where id='" + id + "'";
DataSet ds2 = DataManager.DatabaseManager.GetOrCreateConnection(DataManager.DatabaseManager.ConnectionType.MySQL).GetData(query);
string DamId = ds2.Tables[0].Rows[0][0].ToString();
if (this.DStation.Visible == true)
{
string query4 = "insert into Table3(Id, AssetId, AssetName) value('" + DamId + "','" + ID + "','" + Name + "')";
DataManager.DatabaseManager.GetOrCreateConnection(DataManager.DatabaseManager.ConnectionType.MySQL).ExecuteNonQueryCommand(query4, null);
}
else
{
string query4 = "insert into Table3(Id, AssetId, AssetName) value('" + DamId + "','" + ID + "','" + Name + "')";
DataManager.DatabaseManager.GetOrCreateConnection(DataManager.DatabaseManager.ConnectionType.MySQL).ExecuteNonQueryCommand(query4, null);
}
}
}
}
I also tried debugging my code using break points but it is showing ch.Checked = false everytime, dont know why.
Please reply how to resolve it.