0

Hi i am new silverlight application development. i want to bind a data grid from code behind for that i have

ObservableCollection<object> GridDataSource

As datasource, and i use it as

 dgAvailibilityOption.ItemsSource = GridDataSource;

Now despite this data grid not showing any records. For a check if i bind

List<int> testint = new List<int>();
//Add data to list 1 to 10 e.g
dgAvailibilityOption.ItemsSource = testint 

then datagrid shows perfect rsults as expected Now my qiestion is that, is there any problem in taking ObservableCollection type for binding the datagrid??


$.ajaxFileUpload successfully uploads file to a folder but wasn't able to pass values to be saved in the database

I have used ajaxfileupload upon form submission of my form. This is also for uploading purposes for image files. The image was successfully uploaded, however other data to be saved to database wasn't been included? Because it leaves my table fields blank, so I was thinking the values wasn't been passed to the category_save.php. I also observed that when I used the $.ajax({}) instead of $.ajaxFileUpload, the data were all successfully passed and saved in the database including the image file name but the actual file wasn't been uploaded at all. But when I used the $.ajaxFileUpload instead of $.ajax({}), it just work reverse, the file was uploaded but the values wasn't been saved in the database. What is the wrong with this? Here are my codes:

product_form.php

<form method="post" name="new_category" id="product_category" enctype="multipart/form-data"> 
 <ul class="add_prod">
 <li>Category Title:<input type="text" name="category[title]" id="cat_title" value="" placeholder="Title" /> </li>
 <li>Category Description:<textarea rows="4" cols="40" name="category[description]"></textarea></li>
 <li>Category Image:<input type="file" name="image_file" id="image_file" /></li>
 </ul>  
 </form>

product1.js

$("#product_category").submit( function(){

  event.preventDefault();  
   var data_category = $(this).serialize();
   var image = $("#image_file").val();

$.ajaxFileUpload
    (
        {
            type:"post",
            url:"../wp-content/plugins/product_form/category_save.php",
            secureuri:false,
            fileElementId:'image_file',
            dataType: "json",
            data:data_category + "&image_file=" +image,                
            success: function (data)
            {
               if(data.notify == "Success"){
               console.log(data.notify);
              }
             else{
                return false;
              }
            }  
        }
    ); 
 });

product2.js

$("#product_category").submit( function(){
  event.preventDefault();  
   var data_category = $(this).serialize();
   var image = $("#image_file").val();

     $.ajax({
       type: "post",
       url: "../wp-content/plugins/product_form/category_save.php",
       dataType: "json",
       data:data_category + "&image_file=" +image,
       success: function(data){
           if(data.notify == "Success"){
               console.log(data.notify);
           }
           else{
               console.log(data.notify);
           }
       } 

   });

});

category_save.php

<?php 
 //establish connection
 $con = mysqli_connect("localhost","root","","ion2_emagi"); 
 //on connection failure, throw an error
 if(!$con) {  
  die('Could not connect: '.mysql_error()); 
  } 

 $output_dir = "C:/Users/Employees/Dropbox/emagi/wp-content/plugins/product_form/img/";
 $file_name = "image_file"; 

 if(isset($_FILES[$file_name]))
  {
  //Filter the file types , if you want.
  if ($_FILES[$file_name]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
 else
 {  
    //move the uploaded file to uploads folder;
   move_uploaded_file($_FILES["image_file"]["tmp_name"],$output_dir.     $_FILES["image_file"]["name"]);
 }

}

//get the form elements and store them in variables
$category_values = $_POST["category"]; 
$image_url = basename($_POST["image_file"]);
$image_field = "image_url";
$data = array();

//unset($view_all_info['Password2']);
  foreach($category_values as $field => $val){
 $data[] = "`".$field."` = '".$val."'";
 }

 array_push($data,"`".$image_field."` = '".$image_url."'");

 $sql = "INSERT INTO wp_product_category SET ".implode(',', $data);
 $ret = mysqli_query($con,$sql); 

if($ret){
$notification="Success";
}
 else{
 $notification="Failed";
 }

echo json_encode(array('notify'=>$notification));

mysqli_close($con);
4

1 回答 1

0

在分配给数据网格时转换为列表,

还要检查你的收藏中有物品,

dgAvailibilityOption.ItemsSource = GridDataSource.ToList();

我假设您有 AutoGenerateColumns 在 GridDataSource 中为真。

于 2013-09-26T09:57:30.420 回答