本文介绍了无法投射“Obout.Grid.GridTemplate”类型的对象来键入“System.Web.UI.WebControls.GridViewRow”。没有解决的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我想要禁用gridview 按钮点击行,它位于gridview中。因此,我写了下面的代码。 protected void btnPayGenInvoice_Click(object sender,EventArgs e) { if(strMode ==M) { Button btn =(Button)sender; GridViewRow row =(GridViewRow)btn.Parent.Parent; row.Enabled = false; 但是我收到错误信息请让我知道这里有什么错误 $ b 更新 在 GridViewRow row =(GridViewRow)btn.Parent.Parent; 中获取错误 更新2 按钮点击事件代码。 protected void GetRowDataPay(object sender,CommandEventArgs e) { int rowIndex = int.Parse(e.CommandArgument.ToString()); Hashtable dataItemPay = GridPayInfo.Rows [rowIndex] .ToHashtable()as Hashtable; if(ObjPriCon.State!= ConnectionState.Open) { ObjPriCon.Open(); OracleCommand cmdMkeyPay = new OracleCommand(从双选择XXCUS.XXACL_LAND_PURC_INV_VIEW_MKEY.nextval,ObjPriCon); string MkeyPay = Convert.ToString(cmdMkeyPay.ExecuteOracleScalar()); OracleCommand cmdORGID = new OracleCommand(从双选择XXCUS.XXACL_LAND_PURC_INV_VIEW_MKEY.nextval,ObjPriCon); string ORG_IDKEY = CF.ExecuteScaler2(select ORGANIZATION_ID,ORGANIZATION_NAME from apps.xxacl_company_mst where ORGANIZATION_NAME ='+ txtCompName.Value +'); string strExpQuery =insert into XXCUS.XXACL_LAND_PURC_INVOICE_VIEW(MKEY,REF_PURCHASE_ID,REF_SR_NO,+ REF_PURHCASE_TYPE,ORG_ID,PROJECT_ID,TALUKA_ID,VILLAGE_ID,SURVEY_AREA_7_12,DOC_NO,INVOICE_ID,INVOICE_NUM,VENDOR_ID ,+ VENDOR_NAME,INVOICE_AMT,BATCH_ID,BATCH_NAME,EXP_ID,EXP_TYPE,REMARKS,CREATED_BY,+ CREATION_DATE,LAST_UPDATE_DATE,LAST_UPDATED_BY,EXP_ORG_ID,EXP_ORG_NAME)值(+ MkeyPay +, + StrMkey +,+ + dataItemPay [SR_NO] +,'+ dataItemPay [ATTRIBUTE1] +',+ ORG_IDKEY +,+ ddlProject.SelectedValue +, + + ddlTaluka.SelectedValue +,+ ddlVillage.SelectedValue +,'+ txt712.Text +','+ txtdocno.Value +',+NULL+ ,+NULL+,+ + dataItemPay [ORACLE_VENDOR_ID] +,'+ dataItemPay [ORACLE_VEND_NAME] +', + dataItemPay [PAID_AMT] +,+ dataItemPay [BATCH_ID] +,+ '+ dataItemPay [BATCH_NAME] +',+ dataItemPay [EXP_ID] +,'+ dataItemPay [EXP_TYPE] +','+ dataItemPay [REMARKS] +',+ + Request.QueryString [userid]。ToString +,sysdate,sysdate+ '+ Request.QueryString [userid]。ToString()+',+NULL+,+NULL+) ; OracleCommand cmdQuery = new OracleCommand(strExpQuery,ObjPriCon); cmdQuery.ExecuteNonQuery(); ObjPriCon.Close(); ScriptManager.RegisterStartupScript(this,this.GetType(),Success,alert('Payment Invoice inserted into into table successfully');,true); $ div $解析方案你应该使用rowIndex值来获取gridviewrow,然后禁用它像这样 pre $ if(GridPayInfo.Rows [rowIndex]!= null) { GridPayInfo.Rows [rowIndex] .Enabled = false; } I want to disable gridview row on button click which is inside the gridview. So for that I have written the below code.protected void btnPayGenInvoice_Click(object sender, EventArgs e){ if (strMode == "M") { Button btn = (Button)sender; GridViewRow row = (GridViewRow)btn.Parent.Parent; row.Enabled = false; }}But I am getting error as kindly let me know what is wrong hereUPDATEGetting error at line GridViewRow row = (GridViewRow)btn.Parent.Parent;update 2Code for button click event.protected void GetRowDataPay(object sender, CommandEventArgs e){ int rowIndex = int.Parse(e.CommandArgument.ToString()); Hashtable dataItemPay = GridPayInfo.Rows[rowIndex].ToHashtable() as Hashtable; if (ObjPriCon.State != ConnectionState.Open) { ObjPriCon.Open(); OracleCommand cmdMkeyPay = new OracleCommand("select XXCUS.XXACL_LAND_PURC_INV_VIEW_MKEY.nextval from dual", ObjPriCon); string MkeyPay = Convert.ToString(cmdMkeyPay.ExecuteOracleScalar()); OracleCommand cmdORGID = new OracleCommand("select XXCUS.XXACL_LAND_PURC_INV_VIEW_MKEY.nextval from dual", ObjPriCon); string ORG_IDKEY = CF.ExecuteScaler2("select ORGANIZATION_ID,ORGANIZATION_NAME from apps.xxacl_company_mst where ORGANIZATION_NAME = '" + txtCompName.Value + "'"); string strExpQuery = "insert into XXCUS.XXACL_LAND_PURC_INVOICE_VIEW (MKEY,REF_PURCHASE_ID,REF_SR_NO, " + "REF_PURHCASE_TYPE,ORG_ID,PROJECT_ID,TALUKA_ID,VILLAGE_ID,SURVEY_AREA_7_12,DOC_NO,INVOICE_ID,INVOICE_NUM,VENDOR_ID, " + "VENDOR_NAME,INVOICE_AMT,BATCH_ID,BATCH_NAME,EXP_ID,EXP_TYPE,REMARKS,CREATED_BY, " + "CREATION_DATE,LAST_UPDATE_DATE,LAST_UPDATED_BY, EXP_ORG_ID, EXP_ORG_NAME) values (" + MkeyPay + "," + StrMkey + "," + "" + dataItemPay["SR_NO"] + ", '" + dataItemPay["ATTRIBUTE1"] + "'," + ORG_IDKEY + "," + ddlProject.SelectedValue + "," + "" + ddlTaluka.SelectedValue + "," + ddlVillage.SelectedValue + ", '" + txt712.Text + "', '" + txtdocno.Value + "'," + "NULL" + "," + "NULL" + "," + "" + dataItemPay["ORACLE_VENDOR_ID"] + ", '" + dataItemPay["ORACLE_VEND_NAME"] + "', " + dataItemPay["PAID_AMT"] + "," + dataItemPay["BATCH_ID"] + "," + "'" + dataItemPay["BATCH_NAME"] + "', " + dataItemPay["EXP_ID"] + ", '" + dataItemPay["EXP_TYPE"] + "', '" + dataItemPay["REMARKS"] + "', " + "" + Request.QueryString["userid"].ToString() + ", sysdate, sysdate, " + "'" + Request.QueryString["userid"].ToString() + "', " + "NULL" + "," + "NULL" + ")"; OracleCommand cmdQuery = new OracleCommand(strExpQuery, ObjPriCon); cmdQuery.ExecuteNonQuery(); ObjPriCon.Close(); ScriptManager.RegisterStartupScript(this, this.GetType(), "Success", "alert('Payment Invoice inserted into table successfully');", true); }} 解决方案 You should use the rowIndex value to get the gridviewrow and then disable it something like this if (GridPayInfo.Rows[rowIndex] != null) { GridPayInfo.Rows[rowIndex].Enabled = false; } 这篇关于无法投射“Obout.Grid.GridTemplate”类型的对象来键入“System.Web.UI.WebControls.GridViewRow”。没有解决的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-22 09:19