मैं एक aspxGridview
का उपयोग कर रहा हूं जहां मैंने चेकबॉक्स का उपयोग किया है। अब मुझे जरूरत है जब मैं किसी भी पंक्ति विशेष कॉलम मान की जांच करता हूं जो मुझे अपने व्यावसायिक तर्क को पूरा करने के लिए सर्वर साइड में मिलना चाहिए। नीचे इस्तेमाल किया गया ग्रिडव्यू है:
<dx:ASPxGridView KeyFieldName="PracticeID" ID="ASPxGrd" runat="server" ClientInstanceName="grid"
ClientIDMode="AutoID" AutoGenerateColumns="false" Width="100%" OnSelectionChanged="ASPxGrd_SelectionChanged">
<Columns>
<dx:GridViewDataColumn VisibleIndex="0" Name="CheckBoxColumn">
<DataItemTemplate>
<dx:ASPxCheckBox ID="ASPxCheckBox1" runat="server" OnCheckedChanged="ASPxCheckBox1_CheckedChanged" AutoPostBack="true">
</dx:ASPxCheckBox>
</DataItemTemplate>
</dx:GridViewDataColumn>
<dx:GridViewDataColumn FieldName="PracticeName" Caption="Description" VisibleIndex="1">
<FooterTemplate>
Total:
</FooterTemplate>
</dx:GridViewDataColumn>
</dx:ASPxGridView>
मैंने नीचे की तरह चयनित पंक्ति प्राप्त करने के लिए auto postback
सत्य और प्रयुक्त कोड के साथ चेकबॉक्स में oncheckedevent
का उपयोग करने का प्रयास किया है:
protected void ASPxCheckBox1_CheckedChanged(object sender, EventArgs e)
{
ASPxGridView grid = sender as ASPxGridView;
string currentMasterKey = Convert.ToString(grid.GetMasterRowKeyValue());
}
2 जवाब
आपके उदाहरण में आपने DataItemTemplate का उपयोग किया है, इसलिए उस स्थिति में प्रेषक वह नियंत्रण होगा जो उस डेटा टेम्पलेट यानी ASPxCheckBox में जोड़ा जाता है और आप इसे ग्रिड bcoz पर कास्टिंग कर रहे हैं कि यह शून्य हो रहा है।
नीचे दिए गए स्निपेट को आज़माएं।
protected void ASPxCheckBox1_CheckedChanged(object sender, EventArgs e)
{
ASPxCheckBox checkBox = sender as ASPxCheckBox;
var grid = (checkBox.NamingContainer as DevExpress.Web.ASPxGridView.GridViewDataItemTemplateContainer).Grid;
string currentMasterKey = Convert.ToString(grid.GetMasterRowKeyValue());
}
मुझे यह उत्तर पहले मिला और यह नीचे की तरह ठीक काम कर रहा है:
for (int i = 0; i < ASPxGrd.VisibleRowCount; i++)
{
ASPxCheckBox chk = ASPxGrd.FindRowCellTemplateControl(i, null, "ASPxCheckBox1") as ASPxCheckBox;
if (chk.Checked)
{
if (i == 0)
{
practiceName = ASPxGrd.GetRowValues(i, "PracticeName").ToString();
}
}
}
इस कोड का उपयोग करके मैं चयनित चेकबॉक्स कॉलम मान प्राप्त करने में सक्षम हूं।
संबंधित सवाल
नए सवाल
asp.net
ASP.NET एक Microsoft वेब अनुप्रयोग विकास ढांचा है जो प्रोग्रामर को गतिशील वेब साइटों, वेब अनुप्रयोगों और वेब सेवाओं के निर्माण की अनुमति देता है। प्रोजेक्ट प्रकार टैग के साथ संयोजन के रूप में इस टैग का उपयोग करना उपयोगी है। [asp.net-mvc], [asp.net-webforms], या [asp.net-web-api]। ASP.NET Core के बारे में प्रश्नों के लिए इस टैग का उपयोग न करें - इसके बजाय [asp.net-core] का उपयोग करें।