PDA

View Full Version : بدست آوردن مقدار فیلد در گرید ویو



korosh00
جمعه 04 بهمن 1392, 15:09 عصر
من می خوام با زدن دکمه ای مقدار فیلد ایمیل را بدست بیارم
الان از این استفاده کردم و یک دکمه گذاشتم

<

asp:LinkButton ID="LinkButton1" runat="server" CommandName="taeed" CommandArgument='<%# Eval("id") %>'</asp:LinkButton>



در کد نویسی


if


(e.CommandName == "taeed")

{



string filename = e.CommandArgument.ToString();



string s3 = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=|DataDirectory|\\site.mdb";



OleDbConnection con = new OleDbConnection(s3);



OleDbCommand cmd = new OleDbCommand();

cmd.CommandText =

"update agahi set active='1' where idagahi='12'";

cmd.CommandType =

CommandType.Text;

cmd.Connection = con;

con.Open();

cmd.ExecuteNonQuery();

con.Close();



/*

ارسال ایمیل به کاربر

*/
}



حالا می خوام ایمیل بفرستم . ایمیل را هم می دونم چطوری بفرستم .
فقط اینجا من نقش مدیر دارم می خوام به ایمیل کاربر بفرستم . ایمیل کاربر هم در یکی از فیلدهای گرید ویو هست چطوری به اون فیلد دسترسی پیدا کنم بگم به این کاربره که آگهیش تایید شد ایمیل بفرستم .
فقط الان ایمیل اون کاربر را می خوام .
ممنون

fakhravari
جمعه 04 بهمن 1392, 15:46 عصر
html گرید بزارید.

korosh00
جمعه 04 بهمن 1392, 17:43 عصر
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CssClass="mGrid"
PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt" >
<Columns>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:CheckBox ID="chk_delete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Id">
<ItemTemplate>
<asp:Label ID="lbl_studentId" runat="server" Text='<%# Bind("idagahi") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lbl_StudentName" runat="server" Text='<%# Bind("name1") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Roll No.">
<ItemTemplate>
<asp:Label ID="lbl_studentRoll" runat="server" Text='<%# Bind("aks") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Standard">

</asp:TemplateField>
</Columns>
</asp:GridView>

fakhravari
جمعه 04 بهمن 1392, 20:37 عصر
GridView1_RowCommand
GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingC ontainer
Label lbl = (Label) row.FindControl("LabelID");

korosh00
جمعه 04 بهمن 1392, 20:49 عصر
متوجه نمیشم !
اینجوری اضافه کنم



protected


void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

{



GridViewRow row = (GridViewRow)((LinkButton)e.CommandSource).NamingC ontainer

Label1= (

Label) row.FindControl("LabelID");

}



یک کمی بیشتر توضیح بدید .

fakhravari
جمعه 04 بهمن 1392, 20:57 عصر
شما میخواهید روی دکمه ای کلیک رو سطر گرید
یا
با یه کلیک کل سطر ها رو بخونه

korosh00
جمعه 04 بهمن 1392, 21:21 عصر
ببین من یک چک باکس گذاشتم که با انتخاب اون و زدن یک دکمه در بیرون گرید بنام دکمه حذف اون رکورد را پاک می کنم . حالا می خوام اون عکس خبر یا عکس آگهی هم پاک بشه . چه جیزی بنویسم که علاوه بر پاک کردن رکورد انتخاب شده عکس هم را هم بره پاک کنه ؟

korosh00
جمعه 04 بهمن 1392, 21:23 عصر
اگه لینک باتن بذارم تو گرید ویو بلدم چطوری هم رکورد را پاک کنم و هم عکس را . ولی حالا که از چک باکس استفاده می کنم ....

korosh00
جمعه 04 بهمن 1392, 21:24 عصر
protected


void btn_delete_Click(object sender, EventArgs e)

{



foreach (GridViewRow row in GridView1.Rows)

{







var chk = row.FindControl("chk_delete") as CheckBox;



if (chk.Checked)

{





var lblid = row.FindControl("lbl_studentId") as Label;





OleDbCommand com = new OleDbCommand();

com.CommandText =

"Delete from agahi where idagahi=@idagahi";

com.Connection = con;

com.Parameters.AddWithValue(

"@idagahi", int.Parse(lblid.Text));

con.Open();

com.ExecuteNonQuery();

con.Close();

LoadStudentData();

}

}

}



ببین وقتی رکورد را انتخاب می کنم و روی این دکمه کلیک می کنم رکورد پاک میشه .حالا کاری بکن که عکس هم پاک بشه .
فیلد عکس هم در دیتابیس aks هست .

fakhravari
جمعه 04 بهمن 1392, 22:34 عصر
:عصبانی++:
شما وقتی id دارید راحت میتونید عکس پاک کنید که با کلاس file.delete
نمیدونم اینا چین که میگید

korosh00
شنبه 05 بهمن 1392, 00:06 صبح
تشکر . بالاخره ی جوری حلش کردم .

EnKamran
چهارشنبه 09 بهمن 1392, 01:54 صبح
بفرما دوست من این مقاله (http://sadin.ir/Article/1/%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%87%D8%A7%DB%8C-%D8%AF%D8%A7%D8%AE%D9%84-%DA%AF%D8%B1%DB%8C%D8%AF%D9%88%DB%8C%D9%88)بهت ن کمک میکنه

korosh00
چهارشنبه 09 بهمن 1392, 02:19 صبح
دوست گرام این
using AccessControlsInsideGridview.Model;
را ارور میده .
باید چیزی را add کنم ؟
در ضمن بانک اس کیو نمی تونم بسازم چوان اس کیو ال ندارم می تونی کوئری بانک را بسازی بانک را برام بفرستید ؟ ممنون

EnKamran
چهارشنبه 09 بهمن 1392, 02:28 صبح
دوست من، من از Entity Framework استفاده کردم اما فرقی نمیکنه شما با هرچیزی که دوست دارید بایند کنید گرید رو، قسمتی که شما نیاز دارید :

if (!string.IsNullOrEmpty(((TextBox)row.FindControl("txt")).Text))
{
if (menu != null)
{
menu.MenuUrl = ((TextBox)row.FindControl("txt")).Text;
}
}


هست که خوب من از FindControl برای پیدا کردن TextBox استفاده کردم و این قسمت :
grdMenus.Rows[i].Cells[0].Text

هم مقدار درون سلول اول رو برمیگردونه از ردیف i ام، حالا شما بخواین از ردیف 8 سلول 3 رو بدست بیارید میشه :
grdMenus.Rows[8].Cells[2].Text
متوجه شدید؟

korosh00
چهارشنبه 09 بهمن 1392, 03:18 صبح
تشکر
میشه بانک را اکسس کنی پروژه کامل بشه و بعد بدون هیچ گونه مشکلی راحت اجرا بشه ؟ پروژه را با بانک اکسس و کامل بسازید و بگذارید تا بهتر از روش کار کنیم .
من از روی نمونه متوجه میشم .
ممنون هستم .

EnKamran
چهارشنبه 09 بهمن 1392, 11:17 صبح
شما مشکلت بانک اطلاعاتی نیست دوست من، ما فقط به یک لسیت نیاز داریم حالا شما این لیست رو از SQL بگیری یا Access یا هر بانک دیگه. پیام خصوصی شما رو هم جواب دادم دوست من.