के अंदर फ़ील्ड पहले कोड के बारे में खेद है। क्या कोई मदद कर सकता है?टेम्पलेट में टेक्स्टबॉक्स से मूल्य नहीं प्राप्त कर सकते हैं ग्रिडव्यू
- दिनांक
- ग्राहकों
- PayingBookNoOrDD
चादर पांच पंक्तियां हैं: मैं एक gridview GridView1
जो एक्सेल शीट कि तीन कॉलम है से आयात करके PageLoad()
पर बसा है। उपयोगकर्ता पृष्ठ पर टेक्स्टबॉक्स में डेटा संपादित कर सकते हैं (नीचे मार्कअप)। संपादन के बाद, जब उपयोगकर्ता सबमिट बटन पर क्लिक करता है, तो मुझे इन नए मानों को सभी टेक्स्टबॉक्स से प्राप्त करना होगा और उसी एक्सेल शीट को अपडेट करना होगा जहां से GridView
पॉप्युलेट किया गया था।
मैंने इन नए मानों को स्टोर करने के लिए तीन स्ट्रिंग एरे: dateArray
, custArray
, और payingInBookArray
बनाया। लेकिन जब मैं एप्लिकेशन चलाता हूं तो सभी तीन सरणी खाली होती हैं।
मार्कअप:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="Date,Customers,PayingInBookNoOrDD" >
<Columns>
<asp:TemplateField>
<HeaderTemplate>Date</HeaderTemplate>
<ItemTemplate>
<asp:TextBox runat="server" ID="txtDate" Text='<%# Bind("Date") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Customers</HeaderTemplate>
<ItemTemplate>
<asp:TextBox runat="server" ID="txtCustomers" Text='<%# Bind("Customers") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>PayingInBookNoOrDD</HeaderTemplate>
<ItemTemplate>
<asp:TextBox runat="server" ID="txtPayingInBookNoOrDD" Text='<%# Bind("PayingInBookNoOrDD") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="txtSubmit" runat="server" Text="Submit" onclick="txtSubmit_Click" />
कोड-पीछे:
protected void Page_Load(object sender, EventArgs e)
{
string selectQuery = "SELECT * FROM [Month1$B2:D5]";
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter(selectQuery, conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
conn.Close();
da.Dispose();
conn.Dispose();
}
protected void txtSubmit_Click(object sender, EventArgs e)
{
IList<string> DateArray = new List<string>();
IList<string> custArray = new List<string>();
IList<string> payInBookArray = new List<string>();
foreach (GridViewRow gr in GridView1.Rows)
{
TextBox lblDate = (TextBox)gr.Cells[0].FindControl("txtDate");
DateArray.Add(lblDate.Text);
TextBox lblCustomers = (TextBox)gr.Cells[1].FindControl("txtCustomers");
custArray.Add(lblCustomers.Text);
TextBox lblPayInBookNo = (TextBox)gr.Cells[2].FindControl("txtPayingInBookNoOrDD");
payInBookArray.Add(lblPayInBookNo.Text);
}
ExportToExcel(DateArray.ToArray(), custArray.ToArray(), payInBookArray.ToArray());
}
कृपया मुझे बताएं कि किसी को भी एक समाधान है करते हैं।
धन्यवाद।
कृपया साफ-अप अपने कोड उदाहरण ... जिस तरह से भी संपादित करने के लिए – CAbbott
हाय CAbbott ज्यादा, माफ करना, मैं नई इस साइट के लिए कर रहा हूँ। मैंने सवाल संपादित करने की कोशिश की लेकिन यह और भी गड़बड़ हो गया। कृपया मुझे कुछ मिनट दें और मैं इसे ठीक कर दूंगा। – Amol
अपने बटन 'txtSubmit' या' txt' को prefacing करने वाले किसी भी चीज़ को कॉल न करें अगर यह वास्तव में एक बटन 'बीटीएन' है, तो यह बहुत भ्रामक हो सकता है। आपको 'उपयोग' कथन का उपयोग करके अपनी कनेक्शन ऑब्जेक्ट को भी लपेटना चाहिए, इस तरह आपको स्पष्ट रूप से 'डिस्प्ले()' को कॉल करने की आवश्यकता नहीं है। – JonH