दर्ज करने के लिए ग्रिड व्यू पंक्ति पर कहीं भी क्लिक करें, मैं ग्रिड व्यू पंक्ति में कहीं भी एक क्लिक का उपयोग करके संपादन बटन की समान कार्यक्षमता को डुप्लिकेट करना चाहता हूं।संपादन मोड
नीचे कोड इस करता है, लेकिन एक बड़ी समस्या के साथ: उपयोगकर्ता अगले, संपादित करें आदेश आग फिर से करने के लिए एक पाठ बॉक्स के बंद पर क्लिक करता है, और पिछले पाठ बॉक्स में किए गए परिवर्तनों इसे वापस करने के लिए वापस अगर है मूल मूल्य ।
इस व्यवहार को ठीक करने के तरीके पर कोई सुझाव?
या, क्या यह पूरा करने के लिए एक बेहतर तरीका है?
संपादित करें: यह row.RowState.HasFlag(DataControlRowState.Edit)
का चेक जोड़कर हल किया गया था।
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
foreach(GridViewRow row in gvwOrderItems.Rows)
{
if(row.RowType == DataControlRowType.DataRow &&
row.RowState.HasFlag(DataControlRowState.Edit) == false)
{
// enable click on row to enter edit mode
row.Attributes["onclick"] =
ClientScript.GetPostBackClientHyperlink(gvwOrderItems, "Edit$" + row.DataItemIndex, true);
}
}
base.Render(writer);
}
मैं बजाय row.DataItemIndex 2 पैरामीटर के रूप में उपयोग करने का मेरा RowDataBound हैंडलर के लिए इस कोड जोड़ा, और फिर, मैं gv.DataKeys (e.Row.RowIndex) .Value इस्तेमाल किया मैं तो RowEditing में घटना को पकड़ने घटना और e.NewEditIndex पंक्ति सूचकांक की बजाय मेरे आइटम की आईडी है। – yougotiger