PDA

View Full Version : سوال: template در گرید ویو



myloves.777
چهارشنبه 12 مرداد 1390, 20:04 عصر
سلام خدمت تمامی دوستان
من یک گرد ویو درست کردم با چهار ستون که که توی سه تای اونها textbox گذاشتم و توی یکی دیگشbutton جوری هست که می خوام وقتی رو button کلیک کردم مقدار دوتا از textbox ها رو برداره باهم جمع و ضرب کنه بعد مقدارشو بریز توی اون یکی textbox
باید چکار کنم کمکم کنید :گریه::گریه::گریه:

Peyman.Gh
چهارشنبه 12 مرداد 1390, 22:10 عصر
در این مثال مقدار TextBox1 در مقدار TextBox2 ضرب می شود و حاصل آن در TextBox3 نمایش داده می شود.

ابتدا برای خاصیت CommandName مربوط به Button یک مقدار اختصاص دهید سپس خاصیت CommandArgument را مشخص کنید:


<asp:Button CommandArgument=<%#Eval("id") %> ID="Button2" runat="server" CommandName="multiplication"
onclick="Button2_Click" Text="ضرب" />

سپس در رویداد RowCommand مربوط به GridView بصورت زیر عمل کنید:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "multiplication")
{
int index = int.Parse((string)e.CommandArgument)-1;
int num1 =int.Parse((((TextBox)GridView1.Rows[index].FindControl("TextBox1")).Text));
int num2=int.Parse((((TextBox)GridView1.Rows[index].FindControl("TextBox2")).Text));
((TextBox)GridView1.Rows[index].FindControl("TextBox3")).Text = (num1 * num2).ToString();
}
}

موفق باشید.

myloves.777
پنج شنبه 13 مرداد 1390, 00:49 صبح
سلام اقا خیلی ممنون از کمکتون
من کد شما رو اجرا کردم ولی من نه به button و نه به textbox چیزی رو بایند نکردم.
int index = int.Parse((string)e.CommandArgument)-1;
اگر من طبق گفته شما عمل کنم فقط مقدار id رو به من می ده.

کدشو تو datagrid بدست اوردم جواب می ده ولی نمی دونم منطقی هست یا نه؟
کدش اینه
protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
{

string s1=((TextBox)e.Item.Controls[0].FindControl("txtscore")).Text;
string s2 = ((TextBox)e.Item.Controls[3].FindControl("txtmin")).Text;
int i = Convert.ToInt32(s1) + Convert.ToInt32(s2);
((Label)e.Item.Controls[2].FindControl("lblsum")).Text = Convert.ToString(i);
}
تو گرید و یو نمی دونم چی میشه؟

myloves.777
پنج شنبه 13 مرداد 1390, 09:29 صبح
کسی به من کمک نمی کنه ؟:گریه::گریه:

Peyman.Gh
پنج شنبه 13 مرداد 1390, 12:24 عصر
وقتی Binding نکرده اید پس مقدار از کجا خوانده شود ؟!

myloves.777
پنج شنبه 13 مرداد 1390, 13:10 عصر
قبلش یه ستون هست که نام و نام خانوادگی توش هست که جلوی هراسم این نمره ها وارد می شه!

Peyman.Gh
پنج شنبه 13 مرداد 1390, 14:21 عصر
در پست شماره 2 توضیح داده شد.

موفق باشید.