मैं एक 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());
        }
0
V.Prasad 11 जुलाई 2017, 14:56

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());
}
0
Hemant D 11 जुलाई 2017, 16:58

मुझे यह उत्तर पहले मिला और यह नीचे की तरह ठीक काम कर रहा है:

   

 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();
                    }
                 }
                 }

इस कोड का उपयोग करके मैं चयनित चेकबॉक्स कॉलम मान प्राप्त करने में सक्षम हूं।

0
V.Prasad 12 जुलाई 2017, 09:56