PDA

View Full Version : ایجاد ستون چک باکس در گرید ویو و خواندن مقادیر آن ( جدید + کمک کنید )



mahdiaspx
دوشنبه 09 مرداد 1391, 14:52 عصر
سلام دوستان
من داخل وب سرویس از طریق کد سی شارپ به روش زیر گریدویو رو می سازم و پرش می کنم و بعد هم ستون چک باکس رو بهش اضافه می کنم . اما نمی تونم مقادیر ستون چک باکس رو برای حذف دسته جمعی بخونم . در ضمن من باید از این روش این کار رو انجام بدم وگرنه از طریق ایجاد گرید با کد asp مشکلی ندارم . لطفا کمکم کنید . پیشاپیش از توجه و کمک شما متشکرم .


[WebMethod]
public GVRS ShowAll(string title, string Description, int startPageIndex, string Page, int BeginStartPageIndex)
{

Cls_PrivateMessage Obj_PrivateMessage = new Cls_PrivateMessage();
GridView grv_PrivateMessage = new GridView();
CommanClass.PrivateMessage_OBP PrivateMessage_OBP = new CommanClass.PrivateMessage_OBP();
grv_PrivateMessage.ID = "grv_PrivateMessage";
grv_PrivateMessage.AutoGenerateColumns = false;
grv_PrivateMessage.Width = Unit.Percentage(100);
grv_PrivateMessage.EmptyDataText = "شما در این بخش هیچ پیامی ندارید";
grv_PrivateMessage.DataKeyNames = new string[] { "MSG_Id" };
grv_PrivateMessage.Style.Add("Cursor", "Pointer");
//grv_PrivateMessage.CssClass = "mGrid";
//grv_PrivateMessage.RowStyle.CssClass = "RowStyleeee";
grv_PrivateMessage.RowStyle.ForeColor = System.Drawing.Color.Silver;




//CheckBoxField SelectRecord = new CheckBoxField();
//SelectRecord.HeaderText = "انتخاب";
//SelectRecord.DataField = "MSG_IsDeleted";
//SelectRecord.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
//grv_PrivateMessage.Columns.Add(SelectRecord);

BoundField chk = new BoundField();
chk.HeaderText = "انتخاب";
chk.DataField = "";
chk.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(chk);






Int16 PositionStatus = 1;
if (Page == "In" || Page == "undefined")
{



BoundField bf_Sender = new BoundField();
bf_Sender.HeaderText = "فرستنده";
bf_Sender.DataField = "UserName";
bf_Sender.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_Sender);

BoundField bf_Title = new BoundField();
bf_Title.HeaderText = "عنوان";
bf_Title.DataField = "MSG_Title";
bf_Title.ItemStyle.Width = Unit.Pixel(150);
bf_Title.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_Title);


ImageField imgf_Attach = new ImageField();
imgf_Attach.DataImageUrlFormatString = "../App_Themes/Images/Public/AttachIcon.png";
imgf_Attach.DataImageUrlField = "MSG_Id";
imgf_Attach.HeaderText = "ضمیمه";
imgf_Attach.ItemStyle.Width = Unit.Pixel(24);
imgf_Attach.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(imgf_Attach);

BoundField bf_InsertDate = new BoundField();
bf_InsertDate.HeaderText = "تاریخ دریافت";
bf_InsertDate.DataField = "MSG_RegisterDate";
bf_InsertDate.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_InsertDate);

//BoundField bf_ReadStatus = new BoundField();
//bf_ReadStatus.HeaderText = "وضعیت خواندن";
//bf_ReadStatus.DataField = "MSR_ReadyStatus";
//bf_ReadStatus.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
//grv_PrivateMessage.Columns.Add(bf_ReadStatus);

PrivateMessage_OBP.ReciverId = Guid.Parse("2b327bd0-90af-487a-9a23-e0c96913e83e");
PrivateMessage_OBP.StartPageIndex = startPageIndex;
PrivateMessage_OBP.BeginStartPageIndex = BeginStartPageIndex;
grv_PrivateMessage.DataSource = Obj_PrivateMessage.ShowInbox(PrivateMessage_OBP);
}
else
{


if (Page == "Dr")
{
PositionStatus = 2;
}
if (Page == "Out")
{
PositionStatus = 1;
}
if (Page == "Sel")
{
PositionStatus = 4;

}



BoundField bf_Sender = new BoundField();
bf_Sender.HeaderText = "گیرنده";
bf_Sender.DataField = "ReciverUserName";
bf_Sender.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_Sender);

BoundField bf_Title = new BoundField();
bf_Title.HeaderText = "عنوان";
bf_Title.DataField = "MSG_Title";
bf_Title.ItemStyle.Width = Unit.Pixel(150);
bf_Title.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_Title);


ImageField imgf_Attach = new ImageField();
imgf_Attach.DataImageUrlFormatString = "../App_Themes/Images/Public/AttachIcon.png";
imgf_Attach.DataImageUrlField = "MSG_Id";
imgf_Attach.HeaderText = "ضمیمه";
imgf_Attach.ItemStyle.Width = Unit.Pixel(24);
imgf_Attach.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(imgf_Attach);

BoundField bf_InsertDate = new BoundField();
bf_InsertDate.HeaderText = "تاریخ ارسال";
bf_InsertDate.DataField = "MSG_RegisterDate";
bf_InsertDate.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grv_PrivateMessage.Columns.Add(bf_InsertDate);

//BoundField bf_ReadStatus = new BoundField();
//bf_ReadStatus.HeaderText = "وضعیت خواندن";
//bf_ReadStatus.DataField = "MSR_ReadyStatus";
//bf_ReadStatus.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
//grv_PrivateMessage.Columns.Add(bf_ReadStatus);

PrivateMessage_OBP.SenderId = Guid.Parse("2b327bd0-90af-487a-9a23-e0c96913e83e");
PrivateMessage_OBP.Title = title;
PrivateMessage_OBP.Description = Description;
PrivateMessage_OBP.PositionStatus = PositionStatus;
PrivateMessage_OBP.BeginStartPageIndex = BeginStartPageIndex;
PrivateMessage_OBP.StartPageIndex = startPageIndex;
grv_PrivateMessage.DataSource = Obj_PrivateMessage.ShowSendbox(PrivateMessage_OBP) ;

}

grv_PrivateMessage.RowDataBound += new GridViewRowEventHandler(grv_PrivateMessage_RowData Bound);
grv_PrivateMessage.DataBind();



return new GVRS(JewelDLL.HTML.HtmlUtility.RenderHtmlControl(g rv_PrivateMessage), 4);
}


void grv_PrivateMessage_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string dataKey = ((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString();

int i = 0;
if (e.Row.RowType == DataControlRowType.DataRow)
{
i++;
CheckBox cb = new CheckBox();
// cb.id = ... and other control setup
// add your control here:
cb.ID = "Chk_" + i.ToString();
e.Row.Cells[0].Controls.Add(cb);
}


}




}

mehrzad_ali
دوشنبه 09 مرداد 1391, 15:44 عصر
foreach (GridViewRow gridViewRowTasks in gridViewPage.Rows)
{
if (((CheckBox)gridViewRowTasks.FindControl("CheckBox1")).Checked == true)
{

}
}

mahdiaspx
دوشنبه 09 مرداد 1391, 16:01 عصر
foreach (GridViewRow gridViewRowTasks in gridViewPage.Rows)
{
if (((CheckBox)gridViewRowTasks.FindControl("CheckBox1")).Checked == true)
{

}
}
مشکل من اینه که گریدویو من با وب سرویس ساخته می شه و تا صفحه لود نشه عملا گرید ویویی وجود نداره . به همین خاطر من توی توابع دیگه به گرید دسترسی ندارم .

mahdiaspx
دوشنبه 09 مرداد 1391, 16:13 عصر
foreach (GridViewRow gridViewRowTasks in gridViewPage.Rows)
{
if (((CheckBox)gridViewRowTasks.FindControl("CheckBox1")).Checked == true)
{

}
}
اینو نمیشناسه و خطا میده gridViewPage

mehrzad_ali
دوشنبه 09 مرداد 1391, 16:28 عصر
اینو نمیشناسه و خطا میده gridViewPage

اسم گریدویو خودتو بذار بجاش

این کد رو توی یک دکمه باید بنویسی مثلا دکمه ذخیره