How to plot button inside GridView cells in every row?unable to update gridviewTo add hyperlink in gridDeleting a record from Gridview with ObjectDataSourceExecute SQL scripts consecutivelyFetching data using last DatetimeSumming columns in a DataTable without rebuilding it(Input string was not in a correct format. ) error in sumCredit += Convert.ToDouble(GridView1.Rows[i].Cells[2].Text);Grid view hyperlink to open a new windowhow to add hyperlink in datarow dynamically?Nested gridview not showing data inside updatepanel , its shows undefined
Given a 32 bit number, what is an efficient way to scale each byte by a certain factor?
Is it okay to roll multiple attacks that all have advantage in one cluster?
Could you brine steak?
Is there a method for differentiating informative comments from commented out code?
Through: how to use it with subtraction of functions?
Party going through airport security at separate times?
What do three diagonal dots above a letter mean in the "Misal rico de Cisneros" (Spain, 1518)?
What are similar black and/or white permanents to Divine Visitation?
What adjective means "accurately representitive of reality"?
What is /bin/red
What's it called when the bad guy gets eaten?
What is the minimum time required for final wash in film development?
Compiler doesn't fail when pushing back a std::unique_ptr into a std::vector
The joke office
Is a request to book a business flight ticket for a graduate student an unreasonable one?
What are some further readings in Econometrics you recommend?
How quality assurance engineers test calculations?
Found and corrected a mistake on someone's else paper -- praxis?
Do we know SL(2,C) subgroups (not only finite ones)?
What is a "Lear Processor" and how did it work?
What happens when adult Billy Batson says "Shazam"?
Reverse dots and boxes
The origin of a particular self-reference paradox
PDF page & word count, recursive searching of directory tree, output to excel
How to plot button inside GridView cells in every row?
unable to update gridviewTo add hyperlink in gridDeleting a record from Gridview with ObjectDataSourceExecute SQL scripts consecutivelyFetching data using last DatetimeSumming columns in a DataTable without rebuilding it(Input string was not in a correct format. ) error in sumCredit += Convert.ToDouble(GridView1.Rows[i].Cells[2].Text);Grid view hyperlink to open a new windowhow to add hyperlink in datarow dynamically?Nested gridview not showing data inside updatepanel , its shows undefined
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm implementing 12 by 31 days table using GridView. Where I can select on cell with a button click. I already implemented it somehow something wrong with the GridView it not plotted the last row which is the December row. I also used a hard coded html tag in cell to render a button. But it's also good if dynamically generated by control? And also if row it must equal to days of a month example: it will render 28 buttons on February.
Here's button click to load current data into GridView.
protected void ButtonFilter_Click(object sender, EventArgs e)
DataTable dataTable = new DataTable();
dataTable.Columns.AddRange(new DataColumn[32]
new DataColumn("Month"),
new DataColumn("Day1"),
new DataColumn("Day2"),
new DataColumn("Day3"),
new DataColumn("Day4"),
new DataColumn("Day5"),
new DataColumn("Day6"),
new DataColumn("Day7"),
new DataColumn("Day8"),
new DataColumn("Day9"),
new DataColumn("Day10"),
new DataColumn("Day11"),
new DataColumn("Day12"),
new DataColumn("Day13"),
new DataColumn("Day14"),
new DataColumn("Day15"),
new DataColumn("Day16"),
new DataColumn("Day17"),
new DataColumn("Day18"),
new DataColumn("Day19"),
new DataColumn("Day20"),
new DataColumn("Day21"),
new DataColumn("Day22"),
new DataColumn("Day23"),
new DataColumn("Day24"),
new DataColumn("Day25"),
new DataColumn("Day26"),
new DataColumn("Day27"),
new DataColumn("Day28"),
new DataColumn("Day29"),
new DataColumn("Day30"),
new DataColumn("Day31")
);
DataRow dataRow;
var months = new string[] "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ;
var button = new Button
ID = "ButtonCell",
Text = ""
;
for (int i = 0; i < comparePrices.Count; i++)
dataRow = dataTable.NewRow();
dataRow["Month"] = months[i];
for (int j = 0; j < comparePrices[i].Pricings.Count; j++)
// Load the here.
//dataRow[string.Format("Day0", j + 1)] = comparePrices[i].Pricings[j].Price;
dataTable.Rows.Add(dataRow);
ListOfComparePrice = comparePrices;
GridViewPricing.DataSource = dataTable;
GridViewPricing.DataBind();
Here's the RowDataBound back-end code. The GridViewPricing.Rows.Count has 12. Columns has 32 count.
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
foreach (GridViewRow row in GridViewPricing.Rows)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
Also instead of hard coded html. I would like to use dynamic code in back-end to generate button.
var button = new Button
ID = "ButtonCell",
Text = ""
;
Output:
enter image description here
c# asp.net gridview
add a comment |
I'm implementing 12 by 31 days table using GridView. Where I can select on cell with a button click. I already implemented it somehow something wrong with the GridView it not plotted the last row which is the December row. I also used a hard coded html tag in cell to render a button. But it's also good if dynamically generated by control? And also if row it must equal to days of a month example: it will render 28 buttons on February.
Here's button click to load current data into GridView.
protected void ButtonFilter_Click(object sender, EventArgs e)
DataTable dataTable = new DataTable();
dataTable.Columns.AddRange(new DataColumn[32]
new DataColumn("Month"),
new DataColumn("Day1"),
new DataColumn("Day2"),
new DataColumn("Day3"),
new DataColumn("Day4"),
new DataColumn("Day5"),
new DataColumn("Day6"),
new DataColumn("Day7"),
new DataColumn("Day8"),
new DataColumn("Day9"),
new DataColumn("Day10"),
new DataColumn("Day11"),
new DataColumn("Day12"),
new DataColumn("Day13"),
new DataColumn("Day14"),
new DataColumn("Day15"),
new DataColumn("Day16"),
new DataColumn("Day17"),
new DataColumn("Day18"),
new DataColumn("Day19"),
new DataColumn("Day20"),
new DataColumn("Day21"),
new DataColumn("Day22"),
new DataColumn("Day23"),
new DataColumn("Day24"),
new DataColumn("Day25"),
new DataColumn("Day26"),
new DataColumn("Day27"),
new DataColumn("Day28"),
new DataColumn("Day29"),
new DataColumn("Day30"),
new DataColumn("Day31")
);
DataRow dataRow;
var months = new string[] "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ;
var button = new Button
ID = "ButtonCell",
Text = ""
;
for (int i = 0; i < comparePrices.Count; i++)
dataRow = dataTable.NewRow();
dataRow["Month"] = months[i];
for (int j = 0; j < comparePrices[i].Pricings.Count; j++)
// Load the here.
//dataRow[string.Format("Day0", j + 1)] = comparePrices[i].Pricings[j].Price;
dataTable.Rows.Add(dataRow);
ListOfComparePrice = comparePrices;
GridViewPricing.DataSource = dataTable;
GridViewPricing.DataBind();
Here's the RowDataBound back-end code. The GridViewPricing.Rows.Count has 12. Columns has 32 count.
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
foreach (GridViewRow row in GridViewPricing.Rows)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
Also instead of hard coded html. I would like to use dynamic code in back-end to generate button.
var button = new Button
ID = "ButtonCell",
Text = ""
;
Output:
enter image description here
c# asp.net gridview
Looks like code insideif (e.Row.RowType == DataControlRowType.DataRow)block is not being executed for DEC row. You need to debug and check what is the value ofe.Row.RowTypefor DEC row...
– Chetan Ranpariya
Mar 26 at 2:18
What is the length ofcomparePrices? It looks like thatcomparePriceshas length one less than the number of rows expected to be displayed in GridView.
– Mohsin Mehmood
Mar 26 at 6:42
add a comment |
I'm implementing 12 by 31 days table using GridView. Where I can select on cell with a button click. I already implemented it somehow something wrong with the GridView it not plotted the last row which is the December row. I also used a hard coded html tag in cell to render a button. But it's also good if dynamically generated by control? And also if row it must equal to days of a month example: it will render 28 buttons on February.
Here's button click to load current data into GridView.
protected void ButtonFilter_Click(object sender, EventArgs e)
DataTable dataTable = new DataTable();
dataTable.Columns.AddRange(new DataColumn[32]
new DataColumn("Month"),
new DataColumn("Day1"),
new DataColumn("Day2"),
new DataColumn("Day3"),
new DataColumn("Day4"),
new DataColumn("Day5"),
new DataColumn("Day6"),
new DataColumn("Day7"),
new DataColumn("Day8"),
new DataColumn("Day9"),
new DataColumn("Day10"),
new DataColumn("Day11"),
new DataColumn("Day12"),
new DataColumn("Day13"),
new DataColumn("Day14"),
new DataColumn("Day15"),
new DataColumn("Day16"),
new DataColumn("Day17"),
new DataColumn("Day18"),
new DataColumn("Day19"),
new DataColumn("Day20"),
new DataColumn("Day21"),
new DataColumn("Day22"),
new DataColumn("Day23"),
new DataColumn("Day24"),
new DataColumn("Day25"),
new DataColumn("Day26"),
new DataColumn("Day27"),
new DataColumn("Day28"),
new DataColumn("Day29"),
new DataColumn("Day30"),
new DataColumn("Day31")
);
DataRow dataRow;
var months = new string[] "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ;
var button = new Button
ID = "ButtonCell",
Text = ""
;
for (int i = 0; i < comparePrices.Count; i++)
dataRow = dataTable.NewRow();
dataRow["Month"] = months[i];
for (int j = 0; j < comparePrices[i].Pricings.Count; j++)
// Load the here.
//dataRow[string.Format("Day0", j + 1)] = comparePrices[i].Pricings[j].Price;
dataTable.Rows.Add(dataRow);
ListOfComparePrice = comparePrices;
GridViewPricing.DataSource = dataTable;
GridViewPricing.DataBind();
Here's the RowDataBound back-end code. The GridViewPricing.Rows.Count has 12. Columns has 32 count.
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
foreach (GridViewRow row in GridViewPricing.Rows)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
Also instead of hard coded html. I would like to use dynamic code in back-end to generate button.
var button = new Button
ID = "ButtonCell",
Text = ""
;
Output:
enter image description here
c# asp.net gridview
I'm implementing 12 by 31 days table using GridView. Where I can select on cell with a button click. I already implemented it somehow something wrong with the GridView it not plotted the last row which is the December row. I also used a hard coded html tag in cell to render a button. But it's also good if dynamically generated by control? And also if row it must equal to days of a month example: it will render 28 buttons on February.
Here's button click to load current data into GridView.
protected void ButtonFilter_Click(object sender, EventArgs e)
DataTable dataTable = new DataTable();
dataTable.Columns.AddRange(new DataColumn[32]
new DataColumn("Month"),
new DataColumn("Day1"),
new DataColumn("Day2"),
new DataColumn("Day3"),
new DataColumn("Day4"),
new DataColumn("Day5"),
new DataColumn("Day6"),
new DataColumn("Day7"),
new DataColumn("Day8"),
new DataColumn("Day9"),
new DataColumn("Day10"),
new DataColumn("Day11"),
new DataColumn("Day12"),
new DataColumn("Day13"),
new DataColumn("Day14"),
new DataColumn("Day15"),
new DataColumn("Day16"),
new DataColumn("Day17"),
new DataColumn("Day18"),
new DataColumn("Day19"),
new DataColumn("Day20"),
new DataColumn("Day21"),
new DataColumn("Day22"),
new DataColumn("Day23"),
new DataColumn("Day24"),
new DataColumn("Day25"),
new DataColumn("Day26"),
new DataColumn("Day27"),
new DataColumn("Day28"),
new DataColumn("Day29"),
new DataColumn("Day30"),
new DataColumn("Day31")
);
DataRow dataRow;
var months = new string[] "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ;
var button = new Button
ID = "ButtonCell",
Text = ""
;
for (int i = 0; i < comparePrices.Count; i++)
dataRow = dataTable.NewRow();
dataRow["Month"] = months[i];
for (int j = 0; j < comparePrices[i].Pricings.Count; j++)
// Load the here.
//dataRow[string.Format("Day0", j + 1)] = comparePrices[i].Pricings[j].Price;
dataTable.Rows.Add(dataRow);
ListOfComparePrice = comparePrices;
GridViewPricing.DataSource = dataTable;
GridViewPricing.DataBind();
Here's the RowDataBound back-end code. The GridViewPricing.Rows.Count has 12. Columns has 32 count.
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
foreach (GridViewRow row in GridViewPricing.Rows)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
Also instead of hard coded html. I would like to use dynamic code in back-end to generate button.
var button = new Button
ID = "ButtonCell",
Text = ""
;
Output:
enter image description here
c# asp.net gridview
c# asp.net gridview
asked Mar 26 at 0:20
Patrick PangilinanPatrick Pangilinan
45 bronze badges
45 bronze badges
Looks like code insideif (e.Row.RowType == DataControlRowType.DataRow)block is not being executed for DEC row. You need to debug and check what is the value ofe.Row.RowTypefor DEC row...
– Chetan Ranpariya
Mar 26 at 2:18
What is the length ofcomparePrices? It looks like thatcomparePriceshas length one less than the number of rows expected to be displayed in GridView.
– Mohsin Mehmood
Mar 26 at 6:42
add a comment |
Looks like code insideif (e.Row.RowType == DataControlRowType.DataRow)block is not being executed for DEC row. You need to debug and check what is the value ofe.Row.RowTypefor DEC row...
– Chetan Ranpariya
Mar 26 at 2:18
What is the length ofcomparePrices? It looks like thatcomparePriceshas length one less than the number of rows expected to be displayed in GridView.
– Mohsin Mehmood
Mar 26 at 6:42
Looks like code inside
if (e.Row.RowType == DataControlRowType.DataRow) block is not being executed for DEC row. You need to debug and check what is the value of e.Row.RowType for DEC row...– Chetan Ranpariya
Mar 26 at 2:18
Looks like code inside
if (e.Row.RowType == DataControlRowType.DataRow) block is not being executed for DEC row. You need to debug and check what is the value of e.Row.RowType for DEC row...– Chetan Ranpariya
Mar 26 at 2:18
What is the length of
comparePrices? It looks like that comparePrices has length one less than the number of rows expected to be displayed in GridView.– Mohsin Mehmood
Mar 26 at 6:42
What is the length of
comparePrices? It looks like that comparePrices has length one less than the number of rows expected to be displayed in GridView.– Mohsin Mehmood
Mar 26 at 6:42
add a comment |
1 Answer
1
active
oldest
votes
The problem is that you have a nested loop. Inside the GridViewPricing_RowDataBound you have the following line
foreach (GridViewRow row in GridViewPricing.Rows)
But the RowDataBound event is already fired for every row, so each time you are looping the previous rows again. But the current row is only added to the GridView after the RowDataBound event. That is why you are missing the last row. It should be
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55348183%2fhow-to-plot-button-inside-gridview-cells-in-every-row%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The problem is that you have a nested loop. Inside the GridViewPricing_RowDataBound you have the following line
foreach (GridViewRow row in GridViewPricing.Rows)
But the RowDataBound event is already fired for every row, so each time you are looping the previous rows again. But the current row is only added to the GridView after the RowDataBound event. That is why you are missing the last row. It should be
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
add a comment |
The problem is that you have a nested loop. Inside the GridViewPricing_RowDataBound you have the following line
foreach (GridViewRow row in GridViewPricing.Rows)
But the RowDataBound event is already fired for every row, so each time you are looping the previous rows again. But the current row is only added to the GridView after the RowDataBound event. That is why you are missing the last row. It should be
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
add a comment |
The problem is that you have a nested loop. Inside the GridViewPricing_RowDataBound you have the following line
foreach (GridViewRow row in GridViewPricing.Rows)
But the RowDataBound event is already fired for every row, so each time you are looping the previous rows again. But the current row is only added to the GridView after the RowDataBound event. That is why you are missing the last row. It should be
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
The problem is that you have a nested loop. Inside the GridViewPricing_RowDataBound you have the following line
foreach (GridViewRow row in GridViewPricing.Rows)
But the RowDataBound event is already fired for every row, so each time you are looping the previous rows again. But the current row is only added to the GridView after the RowDataBound event. That is why you are missing the last row. It should be
protected void GridViewPricing_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i < GridViewPricing.Columns.Count; i++)
if (i != 0)
row.Cells[i].Text = string.Format("<div><input type='button' style='border: 0; display:block; padding:4px; width:100%; height:100%;' id=0/></div>", "hi");
answered Mar 26 at 7:43
VDWWDVDWWD
25.9k13 gold badges39 silver badges58 bronze badges
25.9k13 gold badges39 silver badges58 bronze badges
add a comment |
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55348183%2fhow-to-plot-button-inside-gridview-cells-in-every-row%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Looks like code inside
if (e.Row.RowType == DataControlRowType.DataRow)block is not being executed for DEC row. You need to debug and check what is the value ofe.Row.RowTypefor DEC row...– Chetan Ranpariya
Mar 26 at 2:18
What is the length of
comparePrices? It looks like thatcomparePriceshas length one less than the number of rows expected to be displayed in GridView.– Mohsin Mehmood
Mar 26 at 6:42